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形式开 ...
随机推荐
- ASP.NET MVC页面UI之多级数据选择UI(行业信息、专业信息、职位信息的选择)
多级数据选择操作在开发中是常见的操作,比如选择行业信息时,一般有个大类,每个大类下边又包含很多小类,本文简单实现了弹出窗口一级一级选择功能. 本文博客出处:http://www.kwstu.com/A ...
- 用友CDM系统“货位间商品移库单(一步)”表体增加“货位可用数量”字段,根据表头的选择的货位自动带出数值
系统控制台——业务单据定制——货位间商品移库单(一步) 明细字段——增加“可销数量”字段. 然后修改明细字段的“商品编号”自定义查询方案. 增加自定义资料检索方案hwyksp SQL: select ...
- Hadoop HDFS文件操作
1.创建目录 import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.ha ...
- 黑马程序员:Java基础总结----GUI图形化界面
黑马程序员:Java基础总结 GUI图形化界面 ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! GUI(Graphical User Interface)图形化界 ...
- Python中BeautifulSoup中对HTML标签的提取
一开始使用了beautifulSoup的get_text()进行字符串的提取,后来一直提取失败,并提示错误为TypeError: 'NoneType' object is not callable 返 ...
- Java(多)线程中注入Spring的Bean
问题说明 今天在web应用中用到了Java多线程的技术来并发处理一些业务,但在执行时一直会报NullPointerException的错误,问题定位了一下发现是线程中的Spring bean没有被注入 ...
- 使用JavaScript重定向URL参数
本人从网上查找(如有雷同,不胜荣幸.),并进行了修改,简单粗暴,实现使用JavaScript重置url参数 1.字符拼接形式 function setUri(para, val) { var strN ...
- php钩子程序设计
序 作为程序员,设计出优雅而完美的系统,永远是让我们非常兴奋的事情.高手不在于你会多少语言,而在于你有多高的思想. 在设计中,怎么体现自身价值,那就是要比别人多想几步. 讲钩子程序,起 ...
- MVC源码解析 - 进入CLR
这一篇是转载自汤姆大叔的一篇随笔. IIS 5 的 ASP.net 请求处理过程 IIS5核心特征是:IIS是允许在一个叫InetInfo.exe的进程上的,所以无论是aspx页面还是html页面都是 ...
- js如何判断是否在iframe中
JS代码://方式一 if (self.frameElement && self.frameElement.tagName == "IFRAME") { alert ...