zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    (转)Spring Boot(十八):使用 Spring Boot 集成 FastDFS
    (转)Spring Boot(十七):使用 Spring Boot 上传文件
    (转)Spring Boot(十六):使用 Jenkins 部署 Spring Boot
    (转)Spring Boot (十五): Spring Boot + Jpa + Thymeleaf 增删改查示例
    (转)Spring Boot (十四): Spring Boot 整合 Shiro-登录认证和权限管理
    (转)Spring Boot (十三): Spring Boot 小技巧
    (转)Spring Boot(十二):Spring Boot 如何测试打包部署
    (转)Spring Boot(十一):Spring Boot 中 MongoDB 的使用
    第一节 MongoDB介绍及下载与安装
    RDLC报表总结
  • 原文地址:https://www.cnblogs.com/akiha/p/5786953.html
Copyright © 2011-2022 走看看