2

这种附加到语音邮件的 wav 文件(32 位浮点 8000hz 单声道)是不同的类型,无法由 Mediaplayer/SoundPool 处理。请参阅 此处的此链接是指向类似 sample.wav 文件的链接,因此您可以根据需要自行尝试。(它是 wav 32 位浮点 11025hz 单声道)


我的第一次尝试是通过 mediaPlayer 播放它,但它抛出 NullPointerException: 这里是 log cat :

 - 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)

然后我使用了 SoundPool :

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

修理

样品 1 未就绪

我尝试了 Soundpool 示例未准备好,但包括所选答案在内的所有已回复答案均不适合我(基本上没有声音输出)


然后我转向 AudioTrack 解决方案:在此解释Using AudioTrack in Android to play a WAV file

结果是一些静电噪音!一点都不有趣!噗噗


为了解决这个问题,我应用了Android AudioTrack 播放 .wav 文件,只得到白噪声 ,但没有运气应用所有答案,仍然得到静态噪声。

在这里我被困住了!任何帮助将不胜感激。

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

4

0 回答 0