繁体   English   中英

Android播放音频文件(.wav)

[英]Android Playing audio file (.wav)

需要播放一些.wav文件,但只能播放部分内容(从头开始)。 例如,我有test.wav文件,它是10秒我想只播放0-5秒。 我尝试使用seekTo方法,但它没有帮助我的应用程序崩溃。

    AssetFileDescriptor afd = context.getResources().openRawResourceFd(R.raw.test);
    mMediaPlayer.setAudioStreamType(AudioManager.STREAM_SYSTEM);
    mMediaPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
    mMediaPlayer.setOnPreparedListener(mOnPreparedListener);
    mMediaPlayer.setOnCompletionListener(mMediaPlayerCompletionListener);
    mMediaPlayer.seekTo(5000);
    mMediaPlayer.prepare();

您可以在设定的时间后停止播放(在您的情况下为5秒)。 有很多方法可以做到这一点,一个可能是:

final Handler handler = new Handler();

//create a runnable that will be called to stop playback
final Runnable runnable = new Runnable() {
    @Override
    public void run() {
        //stop playback, make sure mMediaPlayer is declared as a field
        //in the class where it's used
        mMediaPlayer.stop();
    }
};

//post a job for handler do be done in 5 seconds
handler.postDelayed(runnable, 5 * 1000);

在你打电话准备之前你不能寻求,我不确定你是否可以在实际调用MediaPlayer.play()之前做到这一点,说实话你需要检查它,但肯定准备先行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM