错误代码Media Player语法和定义

时间:2012-07-04 18:27:33

标签: android android-mediaplayer android-videoview error-code

我找不到有关Android的错误代码的任何文档。我正在整理一个似乎正在进行较低级API设置而不是更高级别的应用程序的应用程序。 尝试播放音频文件时出现错误,就像我说它在较低版本中工作一样。

我在日志中看到的错误代码是:

  

MediaPlayer信息/警告(1,32)
  MediaPlayer信息(1,32)
  MediaPlayer信息/警告(1,26)
  MediaPlayer信息(1,26)
  MediaPlayer错误(351,-4)
  MediaPlayer错误(351,-4)
  VideoView错误(351,-4)

那么有人可以详细解释一下这是如何工作的吗? 根据上面的数据,我知道我在MediaPlayer和可能VideoView中有错误,但这些数字代表什么?我认为这是一个特殊的错误但是哪一个?

我似乎无法在此找到任何内容以及如何解码。 我在哪里可以找到有关如何找出这意味着主要问题的文档。

如果我能更好地得到这个特定错误代码的答案,但是再次使用实际的文档源代码,这样我就可以自己查找其他代码也会带来很大的好处。

以下是Eclipse导出的确切日志文件:

07-04 12:22:48.298: V/key =(6969): http://xxxxxx/glennharrold/audio/normal/relaxsleepwellfull.mp3
07-04 12:22:48.388: D/MediaPlayer(6969): Couldn't open file on client side, trying server side   
07-04 12:22:48.388: D/SprintMM(6969): Proxy will be bypassed because of WIFI connection.
07-04 12:22:48.508: W/MediaPlayer(6969): info/warning (1, 32)
07-04 12:22:48.508: I/MediaPlayer(6969): Info (1,32)
07-04 12:22:48.508: W/MediaPlayer(6969): info/warning (1, 26)
07-04 12:22:48.508: I/MediaPlayer(6969): Info (1,26)
07-04 12:22:48.508: E/MediaPlayer(6969): error (351, -4)
07-04 12:22:48.508: E/MediaPlayer(6969): Error (351,-4)
07-04 12:22:48.508: D/VideoView(6969): Error: 351,-4

现在还不清楚是什么意思,我可以看到它可能与客户端上找不到的文件有关但这个完全相同的代码适用于较低的API版本我将工作代码复制到此App做一个新的。 我在Eclipse中的logcat中看不到的唯一内容是(6969)D/E/W/I/ in MediaPlayer文字的前面 不知道这些额外的东西意味着什么,只有在我将代码导出到文本文件时才会出现。

1 个答案:

答案 0 :(得分:1)

仅供参考,当logcat显示信息时,它是以下之一:

  • D - D ebug
  • W - W arning
  • 我 - 信息

后跟带有标识符的'/',用于标识通常由TAG定义的Java代码名称,如标准做法:

public class fooClass{
    private static final String TAG = "fooClass";
    // ... SNIP
}

之后,是DalvikVM中运行的Java代码的进程ID,以及一些信息性错误代码/消息,具体取决于程序规范。

例如,继续上面突出显示的Java类fooClass,假设它有一个函数fooMethod,如下所示:

private void fooMethod(){    
    Log.d(TAG, "fooMethod() - This is a debug message");    
    //    
    Log.i(TAG, "fooMethod() - This is a info message");    
    //    
    Log.w(TAG, "fooMethod() - This is a warning message"); 
}

现在它将在日志中显示如下:

07-04 20:58:00 D/fooClass (1234): fooMethod() - This is a debug message 
07-04 20:58:00 I/fooClass (1234): fooMethod() - This is a info message 
07-04 20:58:00 W/fooClass (1234): fooMethod() - This is a warning message

某些应用会选择由程序员自行决定显示消息或显示含糊的消息。

值得注意的是,在Android框架内部,某些服务会显示无意义的消息,除了ROM本身后面的开发人员之外,对于任何人都没有什么意义,以帮助进行故障排除。

编辑 由于OP坚持试图理解这一点,所以

MediaPlayer的AOSP源代码位于github here,在那里有一个对'pvmf_return_codes.h'的引用,在源代码 1547 ,这是一个快速的google-fu导致这个linky。错误代码和条件是由于不兼容或媒体错误造成的。