android.media.MediaPlayer#stop ( )源码实例Demo

下面列出了android.media.MediaPlayer#stop ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: kcanotify_h5-master   文件: KcaUtils.java
public static void playNotificationSound(MediaPlayer mediaPlayer, Context context, Uri uri) {
    try {
        if (mediaPlayer.isPlaying()) {
            mediaPlayer.stop();
            mediaPlayer.reset();
        }
        if (uri != null && !Uri.EMPTY.equals(uri)) {
            mediaPlayer.setDataSource(context, uri);
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                AudioAttributes attr = new AudioAttributes.Builder()
                        .setLegacyStreamType(AudioManager.STREAM_NOTIFICATION)
                        .build();
                mediaPlayer.setAudioAttributes(attr);
            } else {
                mediaPlayer.setAudioStreamType(AudioManager.STREAM_NOTIFICATION);
            }
            mediaPlayer.prepare();
            mediaPlayer.start();
        }
    } catch (IllegalArgumentException | SecurityException | IllegalStateException | IOException e) {
        e.printStackTrace();
    }
}
 
源代码2 项目: sleep-cycle-alarm   文件: AlarmService.java
private void startPlayer() {
    player = new MediaPlayer();

    try {
        if (isVibrateEnabled()) {
            postVibrationHandler();
        }
        player.setDataSource(this, Uri.parse(alarmRingtone));
        player.setLooping(true);
        player.setAudioStreamType(AudioManager.STREAM_ALARM);
        player.setVolume(volumeLevel, volumeLevel);
        player.prepare();
        player.start();
        postDelayedVolumeHandler();
    } catch (Exception e) {
        if (player.isPlaying()) {
            player.stop();
        }
        Log.e(getClass().getName(), "startPlayer(): " + e.getMessage());
        stopSelf();
    }
}
 
源代码3 项目: astrobee_android   文件: MainActivity.java
public void onPlayClick(View v) {
    if (!mPlaying) {
        try {
            mPlayer = new MediaPlayer();
            AssetFileDescriptor fd = getResources().openRawResourceFd(R.raw.astrobee);
            mPlayer.setDataSource(fd.getFileDescriptor(), fd.getStartOffset(), fd.getLength());
            mPlayer.setOnCompletionListener(mOnCompletionListener);
            mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
            mPlayer.prepare();
            mPlayer.start();
            mPlaying = true;
            setState(STATE_PLAYING);
        } catch (IOException e) {
            Log.e(TAG, "error trying to play a sound");
        }
    } else {
        mPlayer.setOnCompletionListener(null);
        mPlayer.stop();
        mPlayer.release();
        mPlayer = null;
        mPlaying = false;
        setState(STATE_IDLE);
    }
}
 
源代码4 项目: RhymeMusic   文件: MusicService.java
@Override
public void onCompletion(MediaPlayer mp)
{
    Log.d(TAG, SUB + "onCompletion");

    if ( application.isOnline() )
    {
        Toast.makeText(getBaseContext(), "因时间原因,该功能暂未实现。",
                Toast.LENGTH_LONG).show();
        mp.stop();
    }
    else
    {
        binder.nextTrack();
    }

}
 
源代码5 项目: SchoolQuest   文件: BGMFader.java
public static void stop(final MediaPlayer mediaPlayer, int fadeDuration,
                        final Runnable... endRunnable) {
    if (fadeDuration > 0) { iVolume = INT_VOLUME_MAX; }
    else { iVolume = INT_VOLUME_MIN; }

    updateVolume(mediaPlayer, 0);

    if (fadeDuration > 0) {
        final Timer timer = new Timer(true);
        TimerTask timerTask = new TimerTask() {
            @Override
            public void run() {
                updateVolume(mediaPlayer,-1);
                if (iVolume == INT_VOLUME_MIN) {
                    mediaPlayer.stop();
                    timer.cancel();
                    timer.purge();
                    if (endRunnable.length != 0) { endRunnable[0].run(); }
                }
            }
        };

        int delay = fadeDuration / INT_VOLUME_MAX;
        if (delay == 0) { delay = 1; }

        timer.schedule(timerTask, delay, delay);
    }
}
 
源代码6 项目: Gank.io   文件: WebVideoPresenter.java
@Override
public void onCompletion(MediaPlayer player) {
  if (player != null) {
    if (player.isPlaying()) player.stop();
    player.reset();
    player.release();
  }
}
 
源代码7 项目: timecat   文件: Sound.java
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
    mediaPlayer.stop();
    mediaPlayer.release();
    mMediaPlayer = mNextPlayer;
    setNextMediaPlayer();
}
 
源代码8 项目: LocationAware   文件: LocationAwareService.java
private void startPlayer() {
  mPlayer = new MediaPlayer();
  mPlayer.setOnErrorListener(mErrorListener);

  try {
    isAlarmRinging = true;
    // add vibration to alarm alert if it is set
    //if (App.getState().settings().vibrate()) {
    mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
    mHandler.post(mVibrationRunnable);
    //}
    // Player setup is here
    String ringtone;// = App.getState().settings().ringtone();
    //if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
    //    && ringtone.startsWith("content://media/external/")
    //    && checkSelfPermission(
    //    Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_DENIED) {
    ringtone = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM).toString();
    //}
    mPlayer.setDataSource(this, Uri.parse(ringtone));
    mPlayer.setLooping(true);
    mPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);
    mPlayer.setVolume(mVolumeLevel, mVolumeLevel);
    mPlayer.prepare();
    mPlayer.start();

    //if (App.getState().settings().ramping()) {
    //  mHandler.postDelayed(mVolumeRunnable, VOLUME_INCREASE_DELAY);
    //} else {
    mPlayer.setVolume(MAX_VOLUME, MAX_VOLUME);
    //}
  } catch (Exception e) {
    isAlarmRinging = false;
    if (mPlayer.isPlaying()) {
      mPlayer.stop();
    }
    stopSelf();
  }
}
 
源代码9 项目: cordova-plugin-videoplayer   文件: VideoPlayer.java
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
    Log.e(LOG_TAG, "MediaPlayer.onError(" + what + ", " + extra + ")");
    if(mp.isPlaying()) {
        mp.stop();
    }
    mp.release();
    dialog.dismiss();
    return false;
}
 
源代码10 项目: Tick   文件: Sound.java
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
    mediaPlayer.stop();
    mediaPlayer.release();
    mMediaPlayer = mNextPlayer;
    setNextMediaPlayer();
}
 
源代码11 项目: talalarmo   文件: AlarmService.java
private void startPlayer() {
    mPlayer = new MediaPlayer();
    mPlayer.setOnErrorListener(mErrorListener);

    try {
        // add vibration to alarm alert if it is set
        if (App.getState().settings().vibrate()) {
            mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
            mHandler.post(mVibrationRunnable);
        }
        // Player setup is here
        String ringtone = App.getState().settings().ringtone();
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
                && ringtone.startsWith("content://media/external/")
                && checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_DENIED) {
            ringtone = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM).toString();
        }
        mPlayer.setDataSource(this, Uri.parse(ringtone));
        mPlayer.setLooping(true);
        mPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);
        mPlayer.setVolume(mVolumeLevel, mVolumeLevel);
        mPlayer.prepare();
        mPlayer.start();

        if (App.getState().settings().ramping()) {
            mHandler.postDelayed(mVolumeRunnable, VOLUME_INCREASE_DELAY);
        } else {
            mPlayer.setVolume(MAX_VOLUME, MAX_VOLUME);
        }
    } catch (Exception e) {
        if (mPlayer.isPlaying()) {
            mPlayer.stop();
        }
        stopSelf();
    }
}
 
源代码12 项目: gank   文件: LoveVideoView.java
@Override public void onCompletion(MediaPlayer player) {
    if (player != null) {
        if (player.isPlaying()) player.stop();
        player.reset();
        player.release();
        player = null;
    }
}
 
源代码13 项目: MikuMikuStudio   文件: AndroidAudioRenderer.java
@Override
public void onCompletion(MediaPlayer mp) {
    for (AudioNode src : musicPlaying.keySet()) {
        if (musicPlaying.get(src) == mp) {
            mp.seekTo(0);
            mp.stop();
            src.setStatus(Status.Stopped);
            break;
        }
    }

}
 
@Override
public void onCompletion(MediaPlayer player) {

  if (player != null) {
    if (player.isPlaying()) player.stop();
    player.reset();
    player.release();
    player = null;
  }
}
 
源代码15 项目: WifiChat   文件: ChatActivity.java
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    // TODO Auto-generated method stub
    Message msg = mMessagesList.get((int) id);
    switch (msg.getContentType()) {
        case IMAGE:
            Intent imgIntent = new Intent(mContext, ImageBrowserActivity.class);
            imgIntent
                    .putExtra(ImageBrowserActivity.IMAGE_TYPE, ImageBrowserActivity.TYPE_PHOTO);
            imgIntent.putExtra(ImageBrowserActivity.PATH, msg.getMsgContent());
            startActivity(imgIntent);
            overridePendingTransition(R.anim.zoom_enter, 0);

            break;

        case VOICE:
            // 播放录音
            final ImageView imgView = (ImageView) view
                    .findViewById(R.id.voice_message_iv_msgimage);
            if (!isPlay) {
                mMediaPlayer = new MediaPlayer();
                String filePath = msg.getMsgContent();
                try {
                    mMediaPlayer.setDataSource(filePath);
                    mMediaPlayer.prepare();
                    imgView.setImageResource(R.drawable.voicerecord_stop);
                    isPlay = true;
                    mMediaPlayer.start();
                    // 设置播放结束时监听
                    mMediaPlayer.setOnCompletionListener(new OnCompletionListener() {

                        @Override
                        public void onCompletion(MediaPlayer mp) {
                            if (isPlay) {
                                imgView.setImageResource(R.drawable.voicerecord_right);
                                isPlay = false;
                                mMediaPlayer.stop();
                                mMediaPlayer.release();
                            }
                        }
                    });
                }
                catch (IOException e) {
                    e.printStackTrace();
                }
            }
            else {
                if (mMediaPlayer.isPlaying()) {
                    mMediaPlayer.stop();
                    mMediaPlayer.release();
                    isPlay = false;
                }
                else {
                    isPlay = false;
                    mMediaPlayer.release();
                }
                imgView.setImageResource(R.drawable.voicerecord_right);
            }

            break;

        case FILE:
            Intent fileIntent = new Intent();
            fileIntent.setType("*/*");
            fileIntent.setData(Uri.parse("file://"
                    + FileUtils.getPathByFullPath(msg.getMsgContent())));
            mContext.startActivity(fileIntent);
            break;

        default:
            break;

    }

}
 
源代码16 项目: RhymeMusic   文件: OnlinePlayer.java
@Override
public void onCompletion(MediaPlayer mp)
{
    mp.stop();
}
 
源代码17 项目: RhymeMusic   文件: OnlinePlayer.java
@Override
public boolean onError(MediaPlayer mp, int what, int extra)
{
    mp.stop();
    return false;
}
 
源代码18 项目: FlyWoo   文件: ChatAdapter.java
/**
 * 播放录音
 *
 * @param view
 * @param position
 */
private void OnClickVoice(View view, int position) {

    // 播放录音
    final ImageView iv_voice = (ImageView) view
            .findViewById(R.id.iv_voice);
    final ChatEntity item = list.get(position);
    if (!isPlay) {
        mMediaPlayer = new MediaPlayer();
        String filePath = item.getContent();
        try {
            mMediaPlayer.setDataSource(filePath);
            mMediaPlayer.prepare();
            startRecordAnimation(item, iv_voice);
            isPlay = true;
            mMediaPlayer.start();
            // 设置播放结束时监听
            mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {

                @Override
                public void onCompletion(MediaPlayer mp) {
                    if (isPlay) {
                        stopRecordAnimation(item, iv_voice);
                        isPlay = false;
                        mMediaPlayer.stop();
                        mMediaPlayer.release();
                    }
                }
            });
        } catch (IOException e) {
            e.printStackTrace();
        }
    } else {
        if (mMediaPlayer.isPlaying()) {
            mMediaPlayer.stop();
            mMediaPlayer.release();
            isPlay = false;
        } else {
            isPlay = false;
            mMediaPlayer.release();
        }
        stopRecordAnimation(item, iv_voice);
    }

}
 
@Override
public void onCompletion(MediaPlayer mp) {
    mp.stop();
    mp.reset();
    startPlayingSounds();
}
 
源代码20 项目: android-play-games-in-motion   文件: MainService.java
@Override
public void onCreate() {
    // The service is being created.
    Utils.logDebug(TAG, "onCreate");
    IntentFilter intentFilter = new IntentFilter();
    intentFilter.addAction(CHOICE_NOTIFICATION_ACTION_1);
    intentFilter.addAction(CHOICE_NOTIFICATION_ACTION_2);
    intentFilter.addAction(CHOICE_NOTIFICATION_ACTION_3);
    registerReceiver(mReceiver, intentFilter);

    mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);

    // Determines the behavior for handling Audio Focus surrender.
    mAudioFocusChangeListener = new AudioManager.OnAudioFocusChangeListener() {
        @Override
        public void onAudioFocusChange(int focusChange) {
            if (focusChange == AudioManager.AUDIOFOCUS_LOSS_TRANSIENT
                    || focusChange == AudioManager.AUDIOFOCUS_LOSS) {

                if (mTextToSpeech.isSpeaking()) {
                    mTextToSpeech.setOnUtteranceProgressListener(null);
                    mTextToSpeech.stop();
                }

                if (mMediaPlayer.isPlaying()) {
                    mMediaPlayer.stop();
                }

                // Abandon Audio Focus, if it's requested elsewhere.
                mAudioManager.abandonAudioFocus(mAudioFocusChangeListener);

                // Restart the current moment if AudioFocus was lost. Since AudioFocus is only
                // requested away from this application if this application was using it,
                // only Moments that play sound will restart in this way.
                if (mMission != null) {
                    mMission.restartMoment();
                }
            }
        }
    };

    // Asynchronously prepares the TextToSpeech.
    mTextToSpeech = new TextToSpeech(this, new TextToSpeech.OnInitListener() {
        @Override
        public void onInit(int status) {
            if (status == TextToSpeech.SUCCESS) {
                // Check if language is available.
                switch (mTextToSpeech.isLanguageAvailable(DEFAULT_TEXT_TO_SPEECH_LOCALE)) {
                    case TextToSpeech.LANG_AVAILABLE:
                    case TextToSpeech.LANG_COUNTRY_AVAILABLE:
                    case TextToSpeech.LANG_COUNTRY_VAR_AVAILABLE:
                        Utils.logDebug(TAG, "TTS locale supported.");
                        mTextToSpeech.setLanguage(DEFAULT_TEXT_TO_SPEECH_LOCALE);
                        mIsTextToSpeechReady = true;
                        break;
                    case TextToSpeech.LANG_MISSING_DATA:
                        Utils.logDebug(TAG, "TTS missing data, ask for install.");
                        Intent installIntent = new Intent();
                        installIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
                        startActivity(installIntent);
                        break;
                    default:
                        Utils.logDebug(TAG, "TTS local not supported.");
                        break;
                }
            }
        }
    });

    mMediaPlayer = new MediaPlayer();
}