不能在Android上播放ogg

问题描述

| 没有人知道这意味着什么吗? ogg与phonegap的Meda一起使用,后者使用MediaPlayer
05-26 15:41:50.007  1160  3631 E audioflinger: no more track names available
05-26 15:41:50.007  1160  3631 E AudioTrack: audioflinger Could not create track,status: -12
05-26 15:41:50.007  1160  3631 E AudioSink: Unable to create audio track
05-26 15:41:50.007  1160  3631 E VorbisPlayer: mAudioSink open Failed
谢谢! 编辑:
new Media(\'/android_asset/www/sounds/0.mp3\',function() {
        //alert(\"playAudio():Audio Success\");
    },function(err,arg) {
            alert(err + \' \' + arg);
    }).play()
    

解决方法

根据这篇文章,您需要以恒定比特率播放ogg文件。可变比特率将导致SoundPool崩溃。 这里有关于相同错误消息但原因不同的错误报告:http://code.google.com/p/android/issues/detail?id=13453     ,我有内部Android播放器无法播放的Ogg Vorbis音乐文件,并且我发现删除文件中嵌入的所有标签都可以解决此问题。可变比特率和高比特率对我来说似乎不是问题。问题似乎是,如果Ogg Vorbis文件包含某些格式的标签,则内部Android播放器会阻塞。我还没有弄清楚到底哪个标签是哪种格式的问题。一些工作。有些没有。我会继续调查这个问题。     ,我能够解决此问题,但这更像是一种解决方法。 在我看来,Android无法播放比特率过高的ogg文件。 我大胆地重新编码了我的ogg文件。在“文件-导出-选项\”下的Audacity中,您可以配置ogg-quality。我已将质量设置为0(我听不到任何区别)。 对于另一首歌曲,我必须将我的ogg重新编码为mp3(48khz),然后再返回到ogg。