我正在尝试在 Android 中播放一个 wave 文件(语音邮件)。该文件从远程服务器下载并写入 sdcard。
我使用以下代码使用与 SDK bundle 的 MediaPlayer 类播放 Wave 文件:
FileDescriptor fd = new FileInputStream(songFile).getFD();
MediaPlayer mMediaPlayer = new MediaPlayer();
mMediaPlayer.reset();
try{
mMediaPlayer.setDataSource(fd);
}
catch(IllegalStateException e){
mMediaPlayer.reset();
mMediaPlayer.setDataSource(fd);
}
mMediaPlayer.prepare();
mMediaPlayer.start();
但是,当我运行我的代码时,出现以下错误: 命令 PLAYER_SET_DATA_SOURCE 已完成,但出现错误或信息 PVMFErrNotSupported 错误(1,-4)。
请注意,当我在台式机上拉取此文件并将其复制到 HTC hero 设备的 Music 文件夹时,设备的音乐播放器可以播放此文件,因此我猜测文件格式与 Android 兼容。
不确定是什么问题;请帮忙。
谢谢。
最佳答案
另一个问题可能是文件在下载过程中以某种方式损坏了...我最近遇到了与我从谷歌图像搜索下载的图像完全相同的问题...由于某种原因,文件不断损坏...我仍然没有找到解决方案。我认为 HTTP 客户端以某种方式丢失了数据包。
关于android - 在 Android 中播放波形文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3319739/