从Assets文件夹播放音频时,Android Media播放器错误(1,-4)

我需要你的帮助.我尝试播放存储在Assets文件夹中的音频文件,但发生了错误.

这是我的代码

try{
  if (player.isPlaying()) {
    player.stop();
    player.release();
  }
}catch(Exception e){
  Toast.makeText(this,"an exception occurred",Toast.LENGTH_LONG).show();
  e.printstacktrace();
}
try{
  AssetFileDescriptor afd = BeeDailyConvo.this.getAssets().openFd("sounds/hello_kr.wma");
  player.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength());
  player.prepare();
  player.start();
}catch(Exception e){
  e.printstacktrace();
}

这是我的logcat:

06-16 22:39:53.330: W/MediaPlayer(13490): info/warning (1,26)
06-16 22:39:53.330: E/MediaPlayer(13490): error (1,-4)

你能解释我的代码有什么问题吗?

先感谢您

问候,

普里斯卡

解决方法

这个问题已经解决了.

在准备播放器之前必须关闭资产文件描述符.这就是我解决问题的方法

player = new MediaPlayer();
AssetFileDescriptor afd = BeeDailyConvo.this.getAssets()
  .openFd("sounds/"+file);
player.setDataSource(afd.getFileDescriptor(),afd.getLength());
afd.close();**//just added this line**
player.prepare();
player.start();

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...