亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mediaplaybackactivity.java

?? Android平臺上的media player, iPhone風格
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
        if (mService == null) {            return;        }        try {            int shuffle = mService.getShuffleMode();            if (shuffle == MediaPlaybackService.SHUFFLE_NONE) {                mService.setShuffleMode(MediaPlaybackService.SHUFFLE_NORMAL);                if (mService.getRepeatMode() == MediaPlaybackService.REPEAT_CURRENT) {                    mService.setRepeatMode(MediaPlaybackService.REPEAT_ALL);                    setRepeatButtonImage();                }                showToast(R.string.shuffle_on_notif);            } else if (shuffle == MediaPlaybackService.SHUFFLE_NORMAL ||                    shuffle == MediaPlaybackService.SHUFFLE_AUTO) {                mService.setShuffleMode(MediaPlaybackService.SHUFFLE_NONE);                showToast(R.string.shuffle_off_notif);            } else {                Log.e("MediaPlaybackActivity", "Invalid shuffle mode: " + shuffle);            }            setShuffleButtonImage();        } catch (RemoteException ex) {        }    }        private void cycleRepeat() {        if (mService == null) {            return;        }        try {            int mode = mService.getRepeatMode();            if (mode == MediaPlaybackService.REPEAT_NONE) {                mService.setRepeatMode(MediaPlaybackService.REPEAT_ALL);                showToast(R.string.repeat_all_notif);            } else if (mode == MediaPlaybackService.REPEAT_ALL) {                mService.setRepeatMode(MediaPlaybackService.REPEAT_CURRENT);                if (mService.getShuffleMode() != MediaPlaybackService.SHUFFLE_NONE) {                    mService.setShuffleMode(MediaPlaybackService.SHUFFLE_NONE);                    setShuffleButtonImage();                }                showToast(R.string.repeat_current_notif);            } else {                mService.setRepeatMode(MediaPlaybackService.REPEAT_NONE);                showToast(R.string.repeat_off_notif);            }            setRepeatButtonImage();        } catch (RemoteException ex) {        }            }        private void showToast(int resid) {        if (mToast == null) {            mToast = Toast.makeText(this, "", Toast.LENGTH_SHORT);        }        mToast.setText(resid);        mToast.show();    }    private void startPlayback() {        if(mService == null)            return;        Intent intent = getIntent();        String filename = "";        Uri uri = intent.getData();        if (uri != null && uri.toString().length() > 0) {            // If this is a file:// URI, just use the path directly instead            // of going through the open-from-filedescriptor codepath.            String scheme = uri.getScheme();            if ("file".equals(scheme)) {                filename = uri.getPath();            } else {                filename = uri.toString();            }            try {                mOneShot = true;                if (! mRelaunchAfterConfigChange) {                    mService.stop();                    mService.openfile(filename);                    mService.play();                }            } catch (Exception ex) {                Log.d("MediaPlaybackActivity", "couldn't start playback: " + ex);            }        }        updateTrackInfo();        long next = refreshNow();        queueNextRefresh(next);    }    private ServiceConnection osc = new ServiceConnection() {            public void onServiceConnected(ComponentName classname, IBinder obj) {                mService = IMediaPlaybackService.Stub.asInterface(obj);                if (MusicUtils.sService == null) {                    MusicUtils.sService = mService;                }                startPlayback();                try {                    // Assume something is playing when the service says it is,                    // but also if the audio ID is valid but the service is paused.                    if (mService.getAudioId() >= 0 || mService.isPlaying() ||                            mService.getPath() != null) {                        // something is playing now, we're done                        if (mOneShot) {                            mRepeatButton.setVisibility(View.INVISIBLE);                            mShuffleButton.setVisibility(View.INVISIBLE);                            mQueueButton.setVisibility(View.INVISIBLE);                        } else {                            mRepeatButton.setVisibility(View.VISIBLE);                            mShuffleButton.setVisibility(View.VISIBLE);                            mQueueButton.setVisibility(View.VISIBLE);                            setRepeatButtonImage();                            setShuffleButtonImage();                        }                        setPauseButtonImage();                        return;                    }                } catch (RemoteException ex) {                }                // Service is dead or not playing anything. If we got here as part                // of a "play this file" Intent, exit. Otherwise go to the Music                // app start screen.                if (getIntent().getData() == null) {                    Intent intent = new Intent(Intent.ACTION_MAIN);                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);                    intent.setClass(MediaPlaybackActivity.this, MusicBrowserActivity.class);                    startActivity(intent);                }                finish();            }            public void onServiceDisconnected(ComponentName classname) {            }    };    private void setRepeatButtonImage() {        try {            switch (mService.getRepeatMode()) {                case MediaPlaybackService.REPEAT_ALL:                    mRepeatButton.setImageResource(R.drawable.ic_mp_repeat_all_btn);                    break;                case MediaPlaybackService.REPEAT_CURRENT:                    mRepeatButton.setImageResource(R.drawable.ic_mp_repeat_once_btn);                    break;                default:                    mRepeatButton.setImageResource(R.drawable.ic_mp_repeat_off_btn);                    break;            }        } catch (RemoteException ex) {        }    }        private void setShuffleButtonImage() {        try {            switch (mService.getShuffleMode()) {                case MediaPlaybackService.SHUFFLE_NONE:                    mShuffleButton.setImageResource(R.drawable.ic_mp_shuffle_off_btn);                    break;                case MediaPlaybackService.SHUFFLE_AUTO:                    mShuffleButton.setImageResource(R.drawable.ic_mp_partyshuffle_on_btn);                    break;                default:                    mShuffleButton.setImageResource(R.drawable.ic_mp_shuffle_on_btn);                    break;            }        } catch (RemoteException ex) {        }    }        private void setPauseButtonImage() {        try {            if (mService != null && mService.isPlaying()) {                mPauseButton.setImageResource(android.R.drawable.ic_media_pause);            } else {                mPauseButton.setImageResource(android.R.drawable.ic_media_play);            }        } catch (RemoteException ex) {        }    }        private AlbumView mAlbum;    private TextView mCurrentTime;    private TextView mTotalTime;    private TextView mArtistName;    private TextView mAlbumName;    private TextView mTrackName;    private ProgressBar mProgress;    private long mPosOverride = -1;    private long mDuration;    private int seekmethod;    private boolean paused;    private static final int REFRESH = 1;    private static final int QUIT = 2;    private static final int GET_ALBUM_ART = 3;    private static final int ALBUM_ART_DECODED = 4;    private void queueNextRefresh(long delay) {        if (!paused) {            Message msg = mHandler.obtainMessage(REFRESH);            mHandler.removeMessages(REFRESH);            mHandler.sendMessageDelayed(msg, delay);        }    }    private long refreshNow() {        if(mService == null)            return 500;        try {            long pos = mPosOverride < 0 ? mService.position() : mPosOverride;            long remaining = 1000 - (pos % 1000);            if ((pos >= 0) && (mDuration > 0)) {                mCurrentTime.setText(MusicUtils.makeTimeString(this, pos / 1000));                                if (mService.isPlaying()) {                    mCurrentTime.setVisibility(View.VISIBLE);                } else {                    // blink the counter                    int vis = mCurrentTime.getVisibility();                    mCurrentTime.setVisibility(vis == View.INVISIBLE ? View.VISIBLE : View.INVISIBLE);                    remaining = 500;                }                mProgress.setProgress((int) (1000 * pos / mDuration));            } else {                mCurrentTime.setText("--:--");                mProgress.setProgress(1000);            }            // return the number of milliseconds until the next full second, so            // the counter can be updated at just the right time            return remaining;        } catch (RemoteException ex) {        }        return 500;    }        private final Handler mHandler = new Handler() {        @Override        public void handleMessage(Message msg) {            switch (msg.what) {                case ALBUM_ART_DECODED:                    mAlbum.setArtwork((Bitmap)msg.obj);                    mAlbum.invalidate();                    break;                case REFRESH:                    long next = refreshNow();                    queueNextRefresh(next);                    break;                                    case QUIT:                    // This can be moved back to onCreate once the bug that prevents                    // Dialogs from being started from onCreate/onResume is fixed.                    new AlertDialog.Builder(MediaPlaybackActivity.this)                            .setTitle(R.string.service_start_error_title)                            .setMessage(R.string.service_start_error_msg)                            .setPositiveButton(R.string.service_start_error_button,                                    new DialogInterface.OnClickListener() {                                        public void onClick(DialogInterface dialog, int whichButton) {                                            finish();                                        }                                    })                            .setCancelable(false)                            .show();                    break;                default:                    break;            }        }    };    private BroadcastReceiver mStatusListener = new BroadcastReceiver() {        @Override        public void onReceive(Context context, Intent intent) {            String action = intent.getAction();            if (action.equals(MediaPlaybackService.META_CHANGED)) {                // redraw the artist/title info and                // set new max for progress bar                updateTrackInfo();                setPauseButtonImage();                queueNextRefresh(1);            } else if (action.equals(MediaPlaybackService.PLAYBACK_COMPLETE)) {                if (mOneShot) {                    finish();                } else {                    setPauseButtonImage();                }            } else if (action.equals(MediaPlaybackService.PLAYSTATE_CHANGED)) {                setPauseButtonImage();            }        }    };    private void updateTrackInfo() {        if (mService == null) {            return;        }        try {            if (mService.getPath() == null) {                finish();                return;            }            String artistName = mService.getArtistName();            if (MediaFile.UNKNOWN_STRING.equals(artistName)) {                artistName = getString(R.string.unknown_artist_name);            }            mArtistName.setText(artistName);            String albumName = mService.getAlbumName();            int albumid = mService.getAlbumId();            if (MediaFile.UNKNOWN_STRING.equals(albumName)) {                albumName = getString(R.string.unknown_album_name);                albumid = -1;            }            mAlbumName.setText(albumName);            mTrackName.setText(mService.getTrackName());            mAlbumArtHandler.removeMessages(GET_ALBUM_ART);            mAlbumArtHandler.obtainMessage(GET_ALBUM_ART, albumid, 0).sendToTarget();            mDuration = mService.duration();            mTotalTime.setText(MusicUtils.makeTimeString(this, mDuration / 1000));        } catch (RemoteException ex) {            finish();        }    }        public class AlbumArtHandler extends Handler {        private int mAlbumId = -1;                public AlbumArtHandler(Looper looper) {            super(looper);        }        public void handleMessage(Message msg)        {            int albumid = msg.arg1;            if (msg.what == GET_ALBUM_ART && (mAlbumId != albumid || albumid < 0)) {                // while decoding the new image, show the default album art                Message numsg = mHandler.obtainMessage(ALBUM_ART_DECODED, null);                mHandler.removeMessages(ALBUM_ART_DECODED);                mHandler.sendMessageDelayed(numsg, 300);                Bitmap bm = MusicUtils.getArtwork(MediaPlaybackActivity.this, albumid);                if (bm == null) {                    bm = MusicUtils.getArtwork(MediaPlaybackActivity.this, -1);                    albumid = -1;                }                if (bm != null) {                    numsg = mHandler.obtainMessage(ALBUM_ART_DECODED, bm);                    mHandler.removeMessages(ALBUM_ART_DECODED);                    mHandler.sendMessage(numsg);                }                mAlbumId = albumid;            }        }    }        private class Worker implements Runnable {        private final Object mLock = new Object();        private Looper mLooper;                /**         * Creates a worker thread with the given name. The thread         * then runs a {@link android.os.Looper}.         * @param name A name for the new thread         */        Worker(String name) {            Thread t = new Thread(null, this, name);            t.setPriority(Thread.MIN_PRIORITY);            t.start();            synchronized (mLock) {                while (mLooper == null) {                    try {                        mLock.wait();                    } catch (InterruptedException ex) {                    }                }            }        }                public Looper getLooper() {            return mLooper;        }                public void run() {            synchronized (mLock) {                Looper.prepare();                mLooper = Looper.myLooper();                mLock.notifyAll();            }            Looper.loop();        }                public void quit() {            mLooper.quit();        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91久久精品日日躁夜夜躁欧美| 国产精品伦理一区二区| 亚洲久本草在线中文字幕| 91捆绑美女网站| 一区二区三区欧美亚洲| 欧美无砖砖区免费| 日韩国产欧美在线播放| 欧美成人a在线| 国产69精品久久久久毛片| 中文一区二区完整视频在线观看| 国产成人综合自拍| 亚洲激情五月婷婷| 69p69国产精品| 国产呦萝稀缺另类资源| 国产精品不卡在线观看| 欧美优质美女网站| 日韩国产精品大片| 国产三级欧美三级| 欧美亚洲丝袜传媒另类| 毛片av一区二区| 国产精品久久毛片| 欧美日韩久久久久久| 国产在线精品一区二区夜色| 国产精品日韩成人| 欧美日韩1区2区| 国产成人欧美日韩在线电影| 亚洲美女偷拍久久| 欧美tickling挠脚心丨vk| 成人app软件下载大全免费| 亚洲午夜免费电影| 久久精品视频网| 欧美美女喷水视频| 成人性生交大片免费看中文| 亚洲高清一区二区三区| 日本一区二区三区高清不卡| 欧美日韩亚洲丝袜制服| 成人看片黄a免费看在线| 日韩成人av影视| 国产精品家庭影院| 337p粉嫩大胆噜噜噜噜噜91av| 色爱区综合激月婷婷| 国产美女一区二区| 丝袜诱惑制服诱惑色一区在线观看 | 日韩午夜在线观看视频| 不卡在线视频中文字幕| 美女在线一区二区| 亚洲第一综合色| 国产精品久久777777| 精品久久人人做人人爱| 欧美日韩久久一区二区| 91女厕偷拍女厕偷拍高清| 国产精品中文欧美| 美国十次了思思久久精品导航| 亚洲靠逼com| 国产亚洲制服色| 日韩欧美国产wwwww| 欧美精品在欧美一区二区少妇| 成人免费高清在线观看| 国产成人在线视频网址| 久久超级碰视频| 青青草成人在线观看| 亚洲国产日韩在线一区模特| 国产精品色呦呦| 日本一区二区综合亚洲| 久久女同精品一区二区| 日韩小视频在线观看专区| 在线不卡的av| 777午夜精品免费视频| 欧美亚洲国产一区二区三区va| 91小视频在线观看| 91最新地址在线播放| 成人国产视频在线观看| 国产91色综合久久免费分享| 国产精品1区2区3区在线观看| 激情综合色综合久久| 日本不卡一二三| 蜜桃视频在线观看一区| 免费日韩伦理电影| 美女性感视频久久| 久久精品99国产精品日本| 免费精品视频在线| 六月婷婷色综合| 国内久久精品视频| 国产成人精品免费| eeuss鲁一区二区三区| 成人动漫视频在线| 97久久精品人人澡人人爽| aaa国产一区| 91成人国产精品| 777午夜精品免费视频| 日韩欧美一级特黄在线播放| 91精品国产综合久久久久久漫画| 欧美一区在线视频| 精品国产乱码久久久久久影片| 26uuu久久天堂性欧美| 国产女主播视频一区二区| 国产精品久久久一本精品 | 2021中文字幕一区亚洲| 亚洲精品在线免费播放| 久久久久久免费| 国产精品久久久久一区二区三区共| 中文字幕一区二区不卡 | 久久精品免视看| 国产精品国产a级| 亚洲国产人成综合网站| 青青草国产精品97视觉盛宴| 国产美女精品人人做人人爽| 成人黄色免费短视频| 在线欧美日韩国产| 日韩一区二区在线观看| 国产三级久久久| 亚洲一区日韩精品中文字幕| 男人的天堂久久精品| 成人禁用看黄a在线| 欧美综合天天夜夜久久| 欧美电影免费观看高清完整版在| 国产精品网站在线观看| 午夜影院在线观看欧美| 懂色av一区二区三区免费观看| 91国内精品野花午夜精品| 日韩欧美卡一卡二| 亚洲图片你懂的| 麻豆精品视频在线观看免费| av不卡在线播放| 日韩丝袜情趣美女图片| 成人欧美一区二区三区1314| 蜜桃av噜噜一区| 色就色 综合激情| 亚洲精品一区二区三区四区高清| 亚洲精品国久久99热| 韩国在线一区二区| 欧美性生活久久| 国产欧美日韩一区二区三区在线观看| 亚洲一区二区高清| 国产99久久久国产精品潘金网站| 欧美日韩国产色站一区二区三区| 国产视频一区二区在线| 视频一区国产视频| 色欧美日韩亚洲| 国产精品美女视频| 蜜臀av性久久久久蜜臀av麻豆| 91豆麻精品91久久久久久| 国产日韩欧美a| 欧美96一区二区免费视频| 欧美午夜免费电影| 日韩理论片网站| 国产91精品免费| 精品国产免费人成在线观看| 亚洲一区二区三区四区五区黄| 成人黄色一级视频| 久久久久久日产精品| 另类综合日韩欧美亚洲| 欧美日本国产视频| 一区二区三区日韩欧美| 成人18精品视频| 国产欧美精品日韩区二区麻豆天美| 狂野欧美性猛交blacked| 91精品国产91久久综合桃花| 亚洲国产日韩一区二区| 欧美在线三级电影| 亚洲免费av在线| 色欧美乱欧美15图片| 亚洲视频网在线直播| av成人老司机| 亚洲欧美日韩国产成人精品影院| 成人免费观看视频| 国产精品对白交换视频| 不卡视频免费播放| 亚洲欧洲日产国产综合网| 成人黄色国产精品网站大全在线免费观看| 久久精品夜色噜噜亚洲aⅴ| 国产精品自拍av| 国产女人18毛片水真多成人如厕 | 午夜精品久久一牛影视| 欧美日韩电影在线| 视频一区二区三区入口| 91精品国产色综合久久不卡蜜臀| 亚洲午夜激情网站| 欧美猛男男办公室激情| 午夜精品免费在线观看| 日韩一区二区三区四区| 久久99国产精品成人| 久久久精品中文字幕麻豆发布| 国产综合色在线| 国产精品久久毛片a| 在线观看中文字幕不卡| 亚洲bt欧美bt精品| 日韩免费性生活视频播放| 国产一区中文字幕| 亚洲人成网站精品片在线观看| 在线观看免费成人| 奇米精品一区二区三区在线观看一| 日韩欧美亚洲一区二区| 国产成人av在线影院| 自拍偷拍亚洲欧美日韩| 欧美日韩国产美女| 国产精品影视天天线| 亚洲资源中文字幕| 欧美va在线播放| 99久久综合精品|