【问题标题】:Problem playing audio on android在android上播放音频的问题
【发布时间】:2010-02-21 06:15:37
【问题描述】:

修正:这似乎是我使用的特定音频文件的问题。 droid 上的其他应用程序(例如 Astro 文件管理器)也无法播放,如果我将包中的它替换为 AAC 文件,它可以正常播放。我在 ubuntu 上使用 LAME 将有问题的音频文件从 WAV 文件编码为 MP3 格式。最好知道 android 媒体播放器的局限性。 mplayer 在 ubuntu 上播放文件似乎没有问题。我想我应该提交一份错误报告。

原始问题:当我尝试在我的机器人上播放以下代码时崩溃。日志中给出的错误消息是“Command PLAYER_INIT completed with an error or info PVMFErrNoResources.”然后在mp.prepare() 行上引发 IOException。我的项目目录中有一个文件res/raw/bell.mp3,我假设它对应于下面代码中的R.raw.bell。我正在使用“ant debug”进行构建。如果相关,当我使用“android create”创建项目目录时,我将目标编号设置为 4,在我的系统中对应于“android 2.0”。

我做错了什么,在这里?

    import java.io.IOException;
    import android.app.Activity;
    import android.os.Bundle;
    import android.media.MediaPlayer; 
    import android.util.Log;

    public class testapp extends Activity 
    {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
     try {
         MediaPlayer mp = MediaPlayer.create(this, R.raw.bell);
         mp.prepare();
         mp.start();
     } catch (IOException e) {
         Log.v(getString(R.string.app_name), e.getMessage());
     }
        }

}

【问题讨论】:

  • 如果你在模拟器上尝试这个会发生什么?
  • 不确定;播放此特定音频文件似乎有问题(请参阅问题的修正。)感谢您的建议。

标签: java android audio


【解决方案1】:

如果您使用静态create() 方法获取MediaPlayer,则无需调用prepare()。它会为您执行prepare() 步骤。如果您使用常规的MediaPlayer 构造函数,或者如果您尝试将剪辑重置为开头以从现有的MediaPlayer 对象播放,则只需调用prepare()

这是一个用于播放声音的sample project(在我的例子中是一个 Ogg 剪辑)。

【讨论】:

  • 感谢您指出这一点。但是,删除 prepare() 调用并没有消除错误。我对给出错误的行弄错了。这实际上是创建调用。我想我已经确定了关键问题:由于某种原因,音频文件无法在机器人上播放。请参阅我对问题的修正。
  • "最好知道安卓媒体播放器的局限性。"我会首先确认您的 MP3 符合 developer.android.com/intl/de/guide/appendix/media-formats.html 定义的规格
  • 另外,Chris Thompson 的评论是相关的。如果文件在模拟器上成功播放,则问题是 DROID 特有的问题,您最好的帮助选择是 MOTODEV 支持板。如果文件在模拟器上失败,并且符合上面列出的规范,那么 OpenCORE 本身可能存在错误,在这种情况下,b.android.com 将是提交文件的地方(当且仅当您可以合法地提供文件时)表现出这种行为)。
  • 感谢您的建议。在发布有关错误之前,我将在模拟器上进行测试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-27
  • 2020-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多