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

Posted

技术标签:

【中文标题】为啥 MediaPlayer 在创建它的实例时会抛出 NOT present 错误?【英文标题】:Why MediaPlayer throws NOT present error when creating instance of it?为什么 MediaPlayer 在创建它的实例时会抛出 NOT present 错误? 【发布时间】:2014-08-21 11:19:06 【问题描述】:

创建 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();
    

【问题讨论】:

【参考方案1】:

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

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

QCMediaPlayer.java

【讨论】:

如果平台不支持QCMediaPlayer,为什么要尝试启动QCMediaPlayer? 为什么Android操作系统首先允许这个和那个应用程序以及它自己抛出错误消息?不应该在应该退出调试模式的商业启动系统中完全删除它吗? 这不应该被接受;它没有提供有关如何解决此问题的信息,即在某些平台上 MediaPlayer 完全不起作用。 有什么解决方案可以防止 QCMediaPlayer 一开始就被调用? 你的“你的平台”是什么意思?【参考方案2】:

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

MediaPlayer player = MediaPlayer.create(this, Uri.parse(sound_file_path));

MediaPlayer player = MediaPlayer.create(this, soundRedId, loop);

【讨论】:

我首先收到了这种方式的错误。就我而言,我知道目标 mp3 文件不存在,可能是问题所在。【参考方案3】:

添加mMediaPlayer.setAudiostreamType(AudioManager.STREAM_MUSIC); 为我解决了问题。最初我尝试使用其他类型,但它不起作用。

【讨论】:

这就是解决方案! 不适合我! Api 19(KitKat), lg l65 .Create MediaPlayer player = MediaPlayer() 案例。【参考方案4】:

奇怪的是,对我来说似乎解决这个问题的是重新启动 Android Studio。然后我在调试模式下运行,它开始工作,从那以后就没有看到错误了。奇怪!

【讨论】:

【参考方案5】:

我已添加此代码:

MediaPlayer mediaPlayer = MediaPlayer.create(MainActivity.this,R.raw.menumusic);
mediaPlayer.start();

它不起作用,对我来说解决这个问题的方法似乎是重新启动 Android Studio。 希望这会对某人有所帮助。

【讨论】:

以上是关于为啥 MediaPlayer 在创建它的实例时会抛出 NOT present 错误?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 pytest 在测试模型创建时会抛出“AttributeError:'NoneType'对象没有属性'_meta'”错误?

为啥 Dash 在通过 PyCharm 调试时会抛出 TypeError? [关闭]

为啥我的自定义 UICollectionViewLayout 在单元格之间添加空格时会抛出错误?

为啥Visual Studio在声明字符串数组列表时会抛出异常

为啥 InputStreamReader 从 jar 读取时会抛出 NPE?

为啥我的 Tomcat 服务器在编译 JSP 时会抛出间歇性 404?