为什么MediaPlayer在创建它的实例时会抛出NOT present错误?

ant*_*riz 33 android adt logcat android-mediaplayer

创建MediaPlayer实例时,LogCat会显示以下错误:

QCMediaPlayer媒体播放器不存在

为什么这样,这是正常的吗?

样品:

package com.example.testapp;

import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;



public class MainActivity extends Activity{


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        MediaPlayer mediaPlayer = new MediaPlayer();
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 18

这意味着您的平台不支持QCMediaPlayer.QCMediaPlayer提供扩展的API和接口,以在兼容的Snapdragon构建中获取和设置DASH协议的MPD属性.因此,此错误不应影响正常情况下的媒体播放

查看此来源以了解更多详细信息:

QCMediaPlayer.java

  • 为什么Android操作系统允许这个和那个应用程序以及它自己首先抛出错误消息?在商业上推出的系统应该是否已经超出调试模式? (24认同)
  • 这不应该被接受; 它没有提供有关如何解决这个问题的信息,这是在某些平台上MediaPlayer是完全不起作用的. (3认同)
  • 如果平台不支持QCMediaPlayer,为什么要尝试启动QCMediaPlayer? (2认同)
  • 你的意思是什么"你的平台"? (2认同)

Mik*_*keL 8

我知道这不是"为什么"这种情况发生的答案,但是如果有人想让它工作(至少对我而言是有效的),你可以初始化MediaPlayer不是通过创建新实例并设置数据源而是通过创建它使用的static方法create:

MediaPlayer player = MediaPlayer.create(this, Uri.parse(sound_file_path));
Run Code Online (Sandbox Code Playgroud)

要么

MediaPlayer player = MediaPlayer.create(this, soundRedId, loop);
Run Code Online (Sandbox Code Playgroud)