簡體   English   中英

從另一個類啟動MediaPlayer

[英]Starting MediaPlayer from another class

如何從不是活動的類啟動MediaPlayer? 我需要引用我的MainActivity

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()}}

然后從Activity中調用您的函數,... yourClass.playMusic(this,resId);

它引用了一個活動,因此您可以在Activity類中:

public static Activity activity;

然后在您的課堂上您可以進行該活動:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM