android - 在 Android 中播放波形文件

标签 android

我正在尝试在 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/

相关文章:

java - 创建时间轴 Android 应用程序

android - ContextWrapper.startInstrumentation() 不启动仪器测试

javascript - 安卓 WebView : Determine <a> target= "_ blank"

android - 无法转换到个人白名单接收器应用程序

Android使用具有隐藏值的项目创建一个微调器并显示一些文本?

android - TouchableOpacity 组件设置为 position absolute not clickable in android

java - 布局充气器 nullPointerException

java - Android:围绕屏幕中心旋转 Canvas

android - 有什么方法可以将电子表格嵌入到 Android 应用程序中?

android - flutter :第一次运行我的 flutter 应用程序时出现gradle错误