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形式开 ...
随机推荐
- Java 多线程系列
要编写线程安全的代码,其核心在于要对状态访问操作进行管理,特别是对共享的(Shared)和可变的(Mutable)状态的访问. Java中的主要同步机制是关键字synchronized,它提供了一种独 ...
- 依赖注入(IOC)二
依赖注入(IOC)二 上一章我们讲了构造注入与设值注入,这一篇我们主要讲接口注入与特性注入. 接口注入 接口注入是将抽象类型的入口以方法定义在一个接口中,如果客户类型需要获得这个方法,就需要以实现这个 ...
- angularjs图片上传后不刷新的解决办法
刚接触angularjs在使用的过程中遇到这个问题 首先我们的图片地址是根据ID来获取的,所以用了指令来完成图片的绑定 .directive("cImg", ['appUrl', ...
- Excel 自定义函数
浅谈Excel开发:四 Excel 自定义函数 我们知道,Excel中有很多内置的函数,比如求和,求平均,字符串操作函数,金融函数等等.在有些时候,结合业务要求,这些函数可能不能满足我们的需求,比 ...
- python schedule processor
run some tasks which could look like CRON within linux/UNIX in python. Here's a demo which run on ub ...
- Android零点一度的区别——Matrix
2013-07-07 导语:Matrix是android中对图像绘制的处理(旋转.放缩.平移等等),貌似书本翻页就是用这种方式处理的 正文: 1.基于坐标(px,py)旋转degrees度, post ...
- 给你的git仓库瘦身
很久没有写博客了,最近遇到了一个git问题,比较典型,记录下来与大家分享. 我们使用git版本控制的时候享受了很多便利,不管是代码合并,分支提供给我们的并发,但我们也往往忽略了每次提交之后在我们本地项 ...
- easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大
easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大 >>>>>>>>>>> ...
- ajax系列之用jQuery的ajax方法向服务器发出get和post请求
打算写个ajax系列的博文,主要是写给自己看,学习下ajax的相关知识和用法,以更好的在工作中使用ajax. 假设有个网站A,它有一个简单的输入用户名的页面,界面上有两个输入框,第一个输入框包含在一个 ...
- [DL学习笔记]从人工神经网络到卷积神经网络_3_使用tensorflow搭建CNN来分类not_MNIST数据(有一些问题)
3:用tensorflow搭个神经网络出来 为什么用tensorflow呢,应为谷歌是亲爹啊,虽然有些人说caffe更适合图像啊mxnet效率更高等等,但爸爸就是爸爸,Android都能那么火,一个道 ...