Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从另一个类启动MediaPlayer_Java_Android - Fatal编程技术网

Java 从另一个类启动MediaPlayer

Java 从另一个类启动MediaPlayer,java,android,Java,Android,如何从非活动类启动MediaPlayer?我需要一份我主要活动的参考资料 MediaPlayer mp = MediaPlayer.create([WhatToPutHere], R.raw.cpiano); mp.start(); 将媒体播放器创建为public static,通过将类名与媒体播放器对象一起使用,您可以在Java类或活动中随时启动媒体播放器。是的,当然可以。这是一个例子: class mMP { private Context _context;

如何从非活动类启动MediaPlayer?我需要一份我主要活动的参考资料

MediaPlayer mp = MediaPlayer.create([WhatToPutHere], R.raw.cpiano);
    mp.start();

将媒体播放器创建为
public static
,通过将类名与媒体播放器对象一起使用,您可以在Java类或活动中随时启动媒体播放器。

是的,当然可以。这是一个例子:

class mMP {
        private Context _context;
        private _resId;
        public mMP(Context context,int resId){
            this._context=context;
            this._resId=resId;
        }
        public void playSong(){
            MediaPlayer mp=MediaPlayer.create(_context, _resId);
            if(mp!=null)
                mp.start();
        }
    }
然后从Activity、Service或BroadcastReceiver调用此命令:

new mMP(this,id).playSong();
或使静态无效,如:

 class yourClass{public static void playMusic(Context c,int resId){MediaPlayermp=MediaPlayer.create(c,resId);if(mp!=null) mp.start()}}

然后从活动中调用函数<代码>你的班级。播放音乐(这个,剩余)

它引用到活动,因此您可以在活动类中:

public static Activity activity;
然后在你的课堂上,你可以得到这样的活动:

MediaPlayer mediaPlayer = MediaPlayer.create(ActivityClassName.activity, R.);
mediaPlayer.start();

在media player中使用类名是什么意思?如果在类外使用公共静态变量或对象,则需要指定类名,如MainActivity.mp.start();我必须在[WhattoPutche]中输入什么?然后它会说“这里没有sich参考”,公共静态MediaPlayer mp;全局执行,mp=MediaPlayer.create(this,R.raw.cpiano);内部onCreate();但我不想从活动中调用它。我需要从一个对象调用它