附加到语音邮件的这种类型的wav文件(32位浮点8000hz单声道)是不同的类型,不能由Mediaplayer / SoundPool处理。看this link这里是link到类似的sample.wav文件,所以你可以自己尝试。(它是wav 32位浮点数11025hz mono)
我的第一次尝试是通过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 sample not ready但是没有一个回复的答案,包括选定的答案对我有用(基本上没有声音输出)
然后我转到AudioTrack解决方案: 这里解释Using AudioTrack in Android to play a WAV file
结果是一些静电噪音!根本没有意思! pifff
修复我应用Android AudioTrack playing .wav file, getting only white noise 但没有运气在那里应用所有答案,仍然得到静音噪音。
而且我被卡住了!任何帮助将不胜感激。
旁注:我知道有一些类似'remote wav'的应用程序可以播放VOIP .wav文件但是我需要为我的应用程序制作这个内置功能。</ p>