如何在Android 4.3.1中播放32位浮点wav文件(在VOIP中附加为语音邮件的wav文件)?

时间:2015-11-27 14:10:10

标签: android audio wav voip voicemail

附加到语音邮件的这种类型的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>

0 个答案:

没有答案