gpt4 book ai didi

android - 使用 AssetFileDescriptor 播放音频不起作用

转载 作者:搜寻专家 更新时间:2023-11-01 07:58:11 26 4
gpt4 key购买 nike

现在我正在使用 AssetFileDescriptor 开发音频播放器。但是这首歌(R.raw.music3)不会正常播放,我找不到我做错了什么,请帮我解决这个问题。

private void playAudio_UsingDescriptor() throws Exception{
AssetFileDescriptor fileDesc=getResources().openRawResourceFd(R.raw.music3);

sound2=new MediaPlayer();
sound2.setAudioStreamType(AudioManager.STREAM_MUSIC);
sound2.setDataSource(fileDesc.getFileDescriptor());
fileDesc.close();
sound2.prepareAsync();
sound2.start();

}
try {
playAudio_UsingDescriptor();
}
catch (Exception e){
sound2.start();
}

最佳答案

由于您已经在 /res/raw 目录中拥有音频文件,请尝试使用以下方法初始化您的 MediaPlayer,而不是使用 AssetFileDescriptor:

sound2 = MediaPlayer.create(MainActivity.this, R.raw.music3);

MainActivity.this 替换为适用的 Context 对象。

或者:

sound2 = new MediaPlayer();
AssetFileDescriptor afd = getResources().openRawResourceFd(R.raw.music3);

try
{
sound2.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
afd.close();
sound2.prepare();
}
catch (IOException e)
{}

sound2.start();

关于android - 使用 AssetFileDescriptor 播放音频不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24728388/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com