QCMediaPlayer mediaplayer NOT present(android)
出现了“QCMediaPlayer mediaplayer NOT present”这个错误!!!我的手机是小米手机2,我给它刷机刷到了Android 4.4.4,后来我学长是这样解决的:case R.id.btn_Start2 :// 播放SD卡中的音频资源!!! mediaPlayer = MediaPlayer.create(this,
Uri.parse("storage/sdcard0/music.mp3"));
mediaPlayer.start();// 开始播放!!!
break;
//System.out.println(Environment.getExternalStorageDirectory().getPath());用来输出SD卡的根目录!!!
我的全部代码是:
package com.example.myplayermusic;
import android.support.v7.app.ActionBarActivity;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends ActionBarActivity
implements
OnClickListener,
OnCompletionListener {
private MediaPlayer mediaPlayer;
private Button btn_Start1;
private Button btn_Start2;
private Button btn_Stop;
private Button btn_Pause;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_Start1 = (Button) findViewById(R.id.btn_Start1);
btn_Start2 = (Button) findViewById(R.id.btn_Start2);
btn_Stop = (Button) findViewById(R.id.btn_Stop);
btn_Pause = (Button) findViewById(R.id.btn_Pause);
btn_Start1.setOnClickListener(this);
btn_Start2.setOnClickListener(this);
btn_Stop.setOnClickListener(this);
btn_Pause.setOnClickListener(this);
}
@Override
public void onCompletion(MediaPlayer mp) { // 音频播完后调用onCompletion方法!!!
mp.release(); // 音頻播完后!!!通常需要释放音频资源!!!
setTitle("资源已经释放!!!");
}
@Override
public void onClick(View view) {
try {
switch (view.getId()) {
case R.id.btn_Start1 :// 播放内部音频资源!!!
mediaPlayer = MediaPlayer.create(this, R.raw.music);// 通过MediaPlayer.create方法的第二个参数指定内部音频文件的ID,并创建MediaPlayer对象!!!
mediaPlayer.setOnCompletionListener(this);// 指定播放完成的监听器!!!
if (mediaPlayer != null) {
mediaPlayer.stop();// 停止播放!!!
}
mediaPlayer.prepare();// 加载音频资源!!!
mediaPlayer.start();// 开始播放!!!
break;
case R.id.btn_Start2 :// 播放SD卡中的音频资源!!!
mediaPlayer = MediaPlayer.create(this,
Uri.parse("storage/sdcard0/music.mp3"));
mediaPlayer.start();// 开始播放!!!
break;
//System.out.println(Environment.getExternalStorageDirectory().getPath());用来输出SD卡的根目录!!!
case R.id.btn_Stop :// 終止播放!!!
if (mediaPlayer != null) {
mediaPlayer.stop();// 终止播放!!!
}
break;
case R.id.btn_Pause :// 暂停播放!!!
if (mediaPlayer != null) {
if ("继续播放".equals(btn_Pause.getText().toString())) {
mediaPlayer.start();// 播放已经暂停,可以继续播放!!!
btn_Pause.setText("暂停播放");
} else if ("暂停播放"
.equals(btn_Pause.getText().toString())) {
mediaPlayer.pause();// 暂停播放音频!!!
btn_Pause.setText("继续播放");
}
}
}
} catch (Exception e) {
}
}
}
I know that this is not an answer for "Why" this is happening but if someone wants to make it work (at least for me it worked), you can initialize the MediaPlayer not by creating a new instance and setting the data source but by creating it using the static method create:
MediaPlayer player = MediaPlayer.create(this, Uri.parse(sound_file_path));
or
MediaPlayer player = MediaPlayer.create(this, soundRedId, loop);
QCMediaPlayer mediaplayer NOT present(android)的更多相关文章
- 测试耗电量的工具(Android)
Emmagee是监控指定被测应用在使用过程中占用机器的CPU.内存.流量资源的性能测试小工具. 支持SDK:Android2.2以及以上版本 Emmagee功能介绍 1.检测当前时间被测应用占用的CP ...
- 安卓(android)建立项目时失败,出现Android Manifest.xml file missing几种解决方法?(总结中)
安卓(android)建立项目时失败.出现AndroidManifest.xml file missing几种解决方法?(总结中) Eclipse新建项目.遇到这种问题.注意例如以下: 1.文件名称最 ...
- 基于Platinum库的DMS实现(android)
接上篇博文:基于Platinum库的DMR实现(android) 文章讲述了如何使用Platinum库实现DMR 今天同样使用该库,来讲解一下DMS的实现 关于该库如何编译,请参考这篇博文:NDK下 ...
- Github-Client(ANDROID)开源之旅(四) ------ 简介Roboguice
Guice是Google开发的一个轻量级,基于Java5(主要运用泛型与注释特性)的依赖注入框架(IOC),Guice非常小而且快.Guice是类型安全的,它能够对构造函数,属性,方法(包含任意个参数 ...
- 第四次作业——关于石墨文档(Android)客户端的案例分析
关于石墨文档(Android)客户端的案例分析 作业地址:[https://edu.cnblogs.com/campus/nenu/2016CS/homework/2505] 第一部分调研,评测 1. ...
- TaintDroid下载预编译(五):TaintDroid(Android)系统编译虚拟机和真机測试
光说不练非好汉,如今就让我们开启自己编译的系统測试!事实上懂得这些过程.就知道了Android手机系统定制的整个流程.现有的智能机都是使用Google的android开源的系统然后加入一些自己的东西. ...
- Gradle 一(Android)
参考一:Gradle 完整指南(Android) 参考二:深入理解Android(一):Gradle详解 参考三:Gradle for Android 第一篇( 从 Gradle 和 AS 开始 ) ...
- Github-Client(ANDROID)开源之旅(三) ------ 巧用ViewPagerIndicator
接上篇博文:Github-Client(ANDROID)开源之旅(二) ------ 浅析ActionBarSherkLock 文中结合了网易新闻客户端讲解了开源库ActionBarSherklock ...
- 插件化二(Android)
插件化二(Android) 上一篇文章<插件化一(android)>里大概构思了下插件加载与校验的流程和一些大体设计,这次就具体展开,在<动态加载与插件化>里提到以apk形式开 ...
随机推荐
- 不再害羞,过程比结果更重要;分享一套 CodeSmit 代码生成模板。
住博客园 5 年了,以前也发过一些博文,但都在 一天后 / 几周后 / 几年后 将它删了:因为感觉代码写得不好:不清晰或侵入太大,哪怕只有一句侵入. 可是最近重写一套 CodeSmith 代码生成模板 ...
- Spring注解用法
1. Controller层:@Controller @Controller @RequestMapping("/user")//请求localhost:8080/user/*** ...
- Embedded Linux Primer----嵌入式Linux基础教程--导论
第一章 导论 在这一章里(将要学习到) 为什么是Linux 嵌入式Linux现状 开源和GPL(译者:通用公共许可证) 标准和有关团体 本章总结 放弃专有操作系统正在许多传统嵌入式操作系统公司引起一阵 ...
- 我的 MarkDown 学习笔记
MarkDown 一种用于写作的轻量级[标记语言].它用简洁的语法代替排版,而不像一般的文字处理软件 Word 或者 Pages 有大量的排版.字体设置等. 如果你对文章的样式没有太多要求,只注重写文 ...
- MVC源码分析 - Controller创建和创建扩展
上一篇, 出现了一个至关重要的类:MvcHandler, 接下来就来看一下MvcHandler吧. 先不看具体方法, 先看一下类里面的情况. //这里实现了两个重要的接口, 异步处理和同步处理的接口p ...
- Django 1.10中文文档-第一个应用Part2-模型和管理站点
本教程继续Part1.我们将设置数据库,创建您的第一个模型,并快速介绍Django的自动生成的管理网站. 数据库设置 现在,编辑mysite/settings.py.它是一个用模块级别变量表示Djan ...
- BHuman文档结构
Chapter 2 : a short introduction how to build the code including the required software and how to ru ...
- angular 格式化日期
参考:http://blog.csdn.net/zk437092645/article/details/37882191 html: <input type="text" d ...
- maven原理
http://www.cnblogs.com/onlys/archive/2011/01/04/1925466.html 基本原理Maven的基本原理很简单,采用远程仓库和本地仓库以及一个类似buil ...
- python自动化开发-1
1.python简介 python是一门简明并且强大的面向对象的开发语言,已经在WEB开发,软件开发,科学计算,大数据分析,自动化运维等领域得到了广泛的应用. 注意:所有测试均已python3为主,与 ...