如何在 Android 中播放附加到(IP 语音)语音邮件文件的 .wav 文件? [复制]

Posted

技术标签:

【中文标题】如何在 Android 中播放附加到(IP 语音)语音邮件文件的 .wav 文件? [复制]【英文标题】:How to play .wav file attached to (Voice over IP) voice-mail files in Android? [duplicate] 【发布时间】:2015-11-26 16:13:48 【问题描述】:

需要在安装了 android 4.3.1 (API 18) 的设备上播放 .wav 文件(附加到语音邮件)。

我知道有一些像“远程 wav”这样的应用程序可以播放 .wav 文件,但是我需要为我的应用程序制作这个内置功能。

任何帮助将不胜感激;也许我正在寻找的是找出是否有一个库可以通过默认的 android Mediaplayer 类播放 .wav,甚至首先将其转换为任何其他格式然后播放它......

提前感谢您的时间

我试过了:

public class MainActivity extends Activity 
    SoundPool mPlayer;
    int mSoundId ;
    Button play1;
    @Override
    public void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mPlayer = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
        mSoundId = mPlayer.load(this, R.raw.s2, 1);
        Button play1 = (Button) this.findViewById(R.id.buttonPlay1);
        play1.setOnClickListener(new View.OnClickListener() 
            public void onClick(View v) 
                mPlayer.play(mSoundId, 0.99f, 0.99f, 0, 0, 1f);
            
        );
    

但不起作用,我得到了

11-26 16:31:14.019 7971-7971 W/SoundPool:   sample 1 not READY

我认为这种类型的 wav(附加到语音邮件)是不同的类型,无法由 Mediaplayer/SoundPool 处理。 见https://www.onsip.com/blog/free-way-to-listen-to-wav-files-on-your-android-device 我可以附上文件(sample.wav),你可以试试。


已编辑:------------ 正如菲利普·桑德建议的那样,我尝试了Soundpool sample not ready,但没有一个回复的答案对我有用(没有声音输出)


已编辑:-------------- 我应用了 AudioTrack 方法解释 Using AudioTrack in Android to play a WAV file 但结果是 一些静电噪音(只有几秒钟的白噪音) 然后我申请了 Android AudioTrack playing .wav file, getting only white noise ,这个 asn 来修复静态噪音,但是没有运气,我已经没有想法了,真的很感激新的,这是一个示例 wav 文件的链接here

【问题讨论】:

***.com/questions/13883883/… 10 秒谷歌搜索... 我添加了更多信息 Philipp。 ;) 你有什么努力让它发挥作用? ***.com/questions/5202510/soundpool-sample-not-ready 感谢您的回复,我会试一试,让您知道。助教 【参考方案1】:

我认为你不需要库来播放.wav 文件,android.media.MediaPlayer 可以像播放其他格式一样正常播放 WAV 文件。

MediaPlayer player = MediaPlayer.create(this, R.raw.file_name);
    /*Then to start the player*/
player.start();

【讨论】:

嗨 Colns,这是我的第一次尝试,但令我惊讶的是,我得到了这个:(.NullPointerException) 11-26 16:37:14.969 20287-20287 E/AndroidRuntime: FATAL EXCEPTION: main 11-26 16:37:14.969 20287-20287 E/AndroidRuntime: java.lang.NullPointerException 11-26 16:37:14.969 20287-20287 E/AndroidRuntime: at com.example.bastamib.wavplayer.MainActivity$2.onClick(MainActivity.java: 38)

以上是关于如何在 Android 中播放附加到(IP 语音)语音邮件文件的 .wav 文件? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

在 android 的视频视图中播放视频时不录制语音

在 Android 自定义 ROM 中修改通话中的语音播放

快速附加或连接音频文件

Android:在通话/SIP 期间播放声音文件或文本转语音

Android 语音通话录音无法在系统上播放

Android使用SoundPool播放语音,并实现按顺序延时播放