private static boolean shouldBeep(SharedPreferences prefs, Context activity) { boolean shouldPlayBeep = true; if (shouldPlayBeep) { // See if sound settings overrides this AudioManager audioService = (AudioManager) activity.getSystemService(Context.AUDIO_SERVICE); if (audioService.getRingerMode() != AudioManager.RINGER_MODE_NORMAL) { shouldPlayBeep = false; } } return shouldPlayBeep; }
@Override public void buildRenderers(DemoPlayer player) { Allocator allocator = new DefaultAllocator(BUFFER_SEGMENT_SIZE); Handler mainHandler = player.getMainHandler(); // Build the video and audio renderers. DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter(mainHandler, null); DataSource dataSource = new DefaultUriDataSource(context, bandwidthMeter, userAgent); ExtractorSampleSource sampleSource = new ExtractorSampleSource(uri, dataSource, allocator, BUFFER_SEGMENT_COUNT * BUFFER_SEGMENT_SIZE, mainHandler, player, 0); MediaCodecVideoTrackRenderer videoRenderer = new MediaCodecVideoTrackRenderer(context, sampleSource, MediaCodecSelector.DEFAULT, MediaCodec.VIDEO_SCALING_MODE_SCALE_TO_FIT, 5000, mainHandler, player, 50); MediaCodecAudioTrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource, MediaCodecSelector.DEFAULT, null, true, mainHandler, player, AudioCapabilities.getCapabilities(context), AudioManager.STREAM_MUSIC); TrackRenderer textRenderer = new TextTrackRenderer(sampleSource, player, mainHandler.getLooper()); // Invoke the callback. TrackRenderer[] renderers = new TrackRenderer[DemoPlayer.RENDERER_COUNT]; renderers[DemoPlayer.TYPE_VIDEO] = videoRenderer; renderers[DemoPlayer.TYPE_AUDIO] = audioRenderer; renderers[DemoPlayer.TYPE_TEXT] = textRenderer; player.onRenderers(renderers, bandwidthMeter); }
@Override public void onAudioFocusChange(int focusChange) { if (focusChange == AudioManager.AUDIOFOCUS_LOSS_TRANSIENT || focusChange == AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK) { // The AUDIOFOCUS_LOSS_TRANSIENT case means that we've lost audio focus for a // short amount of time. The AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK case means that // our app is allowed to continue playing sound but at a lower volume. We'll treat // both cases the same way because our app is playing short sound files. // Pause playback and reset player to the start of the file. That way, we can // play the word from the beginning when we resume playback. mMediaPlayer.pause(); mMediaPlayer.seekTo(0); } else if (focusChange == AudioManager.AUDIOFOCUS_GAIN) { // The AUDIOFOCUS_GAIN case means we have regained focus and can resume playback. mMediaPlayer.start(); } else if (focusChange == AudioManager.AUDIOFOCUS_LOSS) { // The AUDIOFOCUS_LOSS case means we've lost audio focus and // Stop playback and clean up resources releaseMediaPlayer(); } }
public void release(boolean cleartargetstate) { if (mPlayer != null) { mPlayer.reset(); mPlayer.release(); mPlayer = null; // REMOVED: mPendingSubtitleTracks.clear(); mCurrentState = STATE_IDLE; if (cleartargetstate) { mTargetState = STATE_IDLE; } AudioManager am = (AudioManager) mAppContext.getSystemService(Context.AUDIO_SERVICE); am.abandonAudioFocus(null); // TODO: 2017/1/11 if (mHandler != null) { mHandler.removeCallbacksAndMessages(this); mHandler = null; } } }
@Override public void execute(AudioManager audioManager) { if (voiceMediator.isBlueToothHeadSet()) { if (!voiceMediator.isSuportA2DP()) { if (audioManager.getMode() != AudioManager.MODE_NORMAL) { Log.e(TAG, "playInChannel>>setMode(AudioManager.MODE_NORMAL)"); audioManager.setMode(AudioManager.MODE_NORMAL); } if (audioManager.isBluetoothScoOn()) { audioManager.setBluetoothScoOn(false); audioManager.stopBluetoothSco(); } } else { if (!audioManager.isBluetoothA2dpOn()) { Log.e(TAG, "playInChannel>>setBluetoothA2dpOn(true)"); audioManager.setBluetoothA2dpOn(true); } } } }
public void onAudioFocusChange(int focusChange) { switch (focusChange) { case (AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK) : if(sep != null) sep.setVolume(0.2f); break; case (AudioManager.AUDIOFOCUS_LOSS_TRANSIENT) : mutePlayer(); break; case (AudioManager.AUDIOFOCUS_LOSS) : stopPlaying(); break; case (AudioManager.AUDIOFOCUS_GAIN) : unmutePlayer(); break; default: break; } }
public void onCompletion() { Log.i(TAG, "onCompletion " + " [" + this.hashCode() + "] "); //save position if (currentState == CURRENT_STATE_PLAYING || currentState == CURRENT_STATE_PAUSE) { int position = getCurrentPositionWhenPlaying(); // int duration = getDuration(); JCUtils.saveProgress(getContext(), url, position); } cancelProgressTimer(); setUiWitStateAndScreen(CURRENT_STATE_NORMAL); // 清理缓存变量 textureViewContainer.removeView(JCMediaManager.textureView); JCMediaManager.instance().currentVideoWidth = 0; JCMediaManager.instance().currentVideoHeight = 0; AudioManager mAudioManager = (AudioManager) getContext().getSystemService(Context.AUDIO_SERVICE); mAudioManager.abandonAudioFocus(onAudioFocusChangeListener); JCUtils.scanForActivity(getContext()).getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); clearFullscreenLayout(); JCUtils.getAppCompActivity(getContext()).setRequestedOrientation(NORMAL_ORIENTATION); JCMediaManager.textureView = null; JCMediaManager.savedSurfaceTexture = null; }
private MediaPlayer buildMediaPlayer(Context activity) { MediaPlayer mediaPlayer = new MediaPlayer(); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mediaPlayer.setOnCompletionListener(this); mediaPlayer.setOnErrorListener(this); try { AssetFileDescriptor file = activity.getResources().openRawResourceFd(R.raw.beep); try { mediaPlayer.setDataSource(file.getFileDescriptor(), file.getStartOffset(), file.getLength()); } finally { file.close(); } mediaPlayer.setVolume(BEEP_VOLUME, BEEP_VOLUME); mediaPlayer.prepare(); return mediaPlayer; } catch (IOException ioe) { Log.w(TAG, ioe); mediaPlayer.release(); return null; } }
@TargetApi(Build.VERSION_CODES.LOLLIPOP) private BroadcastReceiver createAudioPlugReceiver() { return new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { final String action = intent.getAction(); if (action == null) return; if (action.equalsIgnoreCase(AudioManager.ACTION_HDMI_AUDIO_PLUG)) { final boolean hasHdmi = intent.getIntExtra(AudioManager.EXTRA_AUDIO_PLUG_STATE, 0) == 1; final long encodingFlags = !hasHdmi ? 0 : getEncodingFlags(intent.getIntArrayExtra(AudioManager.EXTRA_ENCODINGS)); updateAudioOutputDevice(encodingFlags, "stereo"); } } }; }
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { //call on back button onBackPressed(); } else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN && !AppPreference.isVolumeKeyNavigation()) { //volume down audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, 1); } else if (keyCode == KeyEvent.KEYCODE_VOLUME_UP && !AppPreference.isVolumeKeyNavigation()) { //volume up audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, 1); } return true; }
/** * Play sound on key press * * @param keyCode of pressed key */ private void playClick(int keyCode) { AudioManager am = (AudioManager) getSystemService(AUDIO_SERVICE); switch (keyCode) { case Constants.KeyCode.SPACE: am.playSoundEffect(AudioManager.FX_KEYPRESS_SPACEBAR); break; case Keyboard.KEYCODE_DONE: am.playSoundEffect(AudioManager.FX_KEYPRESS_RETURN); break; case Constants.KeyCode.RETURN: am.playSoundEffect(AudioManager.FX_KEYPRESS_RETURN); break; case Keyboard.KEYCODE_DELETE: am.playSoundEffect(AudioManager.FX_KEYPRESS_DELETE); break; default: am.playSoundEffect(AudioManager.FX_KEYPRESS_STANDARD); break; } }
/** * 播放 */ private void play(SurfaceHolder surfaceHolder,String videoPath){ mediaPlayer = new MediaPlayer(); // 设置多媒体流类型 mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); // 设置用于展示mediaPlayer的容器 mediaPlayer.setSurface(surfaceHolder.getSurface()); // mediaPlayer.setDisplay(surfaceHolder);//用这个方法会报 Wallpapers do not support keep screen on try { mediaPlayer.setDataSource(videoPath); mediaPlayer.prepare(); mediaPlayer.start(); mediaPlayer.setLooping(true); } catch (Exception e) { Log.i("通知", "播放过程中出现了错误哦"); } }
private void setButtonClickListener() { Button toggleButton = (Button) findViewById(R.id.toggleButton); toggleButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { if (mPhoneIsSilent) { // Change back to normal mode mAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL); mPhoneIsSilent = false; } else { // Change to silent mode mAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT); mPhoneIsSilent = true; } // Now toggle the UI again toggleUi(); } }); }
private void checkAudioFocus(MessageObject messageObject) { int neededAudioFocus; if (messageObject.isVoice()) { if (useFrontSpeaker) { neededAudioFocus = 3; } else { neededAudioFocus = 2; } } else { neededAudioFocus = 1; } if (hasAudioFocus != neededAudioFocus) { hasAudioFocus = neededAudioFocus; int result; if (neededAudioFocus == 3) { result = NotificationsController.getInstance().audioManager.requestAudioFocus(this, AudioManager.STREAM_VOICE_CALL, AudioManager.AUDIOFOCUS_GAIN); } else { result = NotificationsController.getInstance().audioManager.requestAudioFocus(this, AudioManager.STREAM_MUSIC, neededAudioFocus == 2 ? AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK : AudioManager.AUDIOFOCUS_GAIN); } if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) { audioFocus = AUDIO_FOCUSED; } } }
protected VideoCastManager(Context context, CastConfiguration castConfiguration) { super(context, castConfiguration); LOGD(TAG, "VideoCastManager is instantiated"); mDataNamespace = castConfiguration.getNamespaces() == null ? null : castConfiguration.getNamespaces().get(0); Class<?> targetActivity = castConfiguration.getTargetActivity(); if (targetActivity == null) { targetActivity = DEFAULT_TARGET_ACTIVITY; } mTargetActivity = targetActivity; mPreferenceAccessor.saveStringToPreference(PREFS_KEY_CAST_ACTIVITY_NAME, mTargetActivity.getName()); if (!TextUtils.isEmpty(mDataNamespace)) { mPreferenceAccessor.saveStringToPreference(PREFS_KEY_CAST_CUSTOM_DATA_NAMESPACE, mDataNamespace); } mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE); mNotificationServiceClass = castConfiguration.getCustomNotificationService(); if (mNotificationServiceClass == null) { mNotificationServiceClass = VideoCastNotificationService.class; } }
/** * 播放音频文件 * * @param file * @param repeat */ private void playAssetsFile(String file, boolean repeat) { try { Log.i(TAG, "file:" + file); currentFile = file; AssetFileDescriptor fd = mAssetManager.openFd(file); mPlayer.reset(); mPlayer.setDataSource(fd.getFileDescriptor(), fd.getStartOffset(), fd.getLength()); mPlayer.setAudioStreamType(mediator.isBlueToothHeadSet() ? AudioManager.STREAM_VOICE_CALL : AudioManager.STREAM_MUSIC); mPlayer.setLooping(repeat); mPlayer.prepareAsync(); fd.close(); } catch (Exception e) { e.printStackTrace(); } }
private void init_(boolean eccEnabled) { mEccEncoder = EccInstanceProvider.getEncoder(eccEnabled); int minBufferSizeInBytes = AudioTrack.getMinBufferSize( RATE, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT); // 44.1kHz mono 16bit mAudioTrack = new AudioTrack( AudioManager.STREAM_MUSIC, RATE, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT, minBufferSizeInBytes, AudioTrack.MODE_STREAM); mExecutorService = Executors.newSingleThreadExecutor(); }
@Override public void onCreate(Bundle icicle) { mContext = this; super.onCreate(icicle); setVolumeControlStream(AudioManager.STREAM_MUSIC); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (ContextCompat.checkSelfPermission(mContext, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(mContext, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_SETTINGS}, 0); } else { startThunderMusic(); } } else { startThunderMusic(); } }
private MediaPlayer buildMediaPlayer(Context activity) { MediaPlayer mediaPlayer = new MediaPlayer(); try { AssetFileDescriptor file = activity.getResources().openRawResourceFd(this.rawBeep); try { mediaPlayer.setDataSource(file.getFileDescriptor(), file.getStartOffset(), file.getLength()); } finally { file.close(); } mediaPlayer.setOnErrorListener(this); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mediaPlayer.setLooping(false); mediaPlayer.setVolume(BEEP_VOLUME, BEEP_VOLUME); mediaPlayer.prepare(); return mediaPlayer; } catch (IOException ioe) { Log.w(TAG, ioe); mediaPlayer.release(); return null; } }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_audio); ButterKnife.bind(this); currentState = Status.START; myHandler = new Handler(); audioMgr = (AudioManager) getSystemService(AUDIO_SERVICE); Intent incoming = getIntent(); if (incoming.hasExtra("AUDIO_PATH")) { audioFilePath = incoming.getStringExtra("AUDIO_PATH"); // audioFilePath = dataUri.getPath(); recordBtn.setEnabled(true); } else { recordBtn.setEnabled(false); } int currentPerm = ActivityCompat.checkSelfPermission(this, permArr[0]); if (currentPerm == PackageManager.PERMISSION_DENIED) { ActivityCompat.requestPermissions(this, permArr, AUDIO_PERMISSION_REQUEST); } }
@Override public void surfaceCreated(SurfaceHolder holder) { try { player.setAudioStreamType(AudioManager.STREAM_MUSIC); player.setOnBufferingUpdateListener(this); player.setOnPreparedListener(this); player.setDisplay(holder); player.setScreenOnWhilePlaying(true); if (isLocalPlay) { player.setDataSource(path); } player.prepareAsync(); } catch (Exception e) { Log.e("videoPlayer", "error", e); } Log.i("videoPlayer", "surface created"); }
@Override public void onGestureBegin(int type) { if (!isWindowGesture & currentMode != MODE_WINDOW_FULLSCREEN) return; //进度 if (type == HandleTouchEvent.GestureEvent.TOUCH_FULL_X & checkReady()) tempPosition = getPosition(); //亮度 if (type == HandleTouchEvent.GestureEvent.TOUCH_LEFT_Y) { tempBrightness = (int) (Util.scanForActivity(getContext()).getWindow().getAttributes().screenBrightness * 255); if (tempBrightness < 0) try {//系统亮度 不能activity取 tempBrightness = Settings.System.getInt(getContext().getContentResolver(), Settings.System.SCREEN_BRIGHTNESS); } catch (Settings.SettingNotFoundException e) { e.printStackTrace(); tempBrightness = 0; } } //音量 if (type == HandleTouchEvent.GestureEvent.TOUCH_RIGHT_Y) tempVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); }
/** * this function can be override * @param context * @return */ public EaseNotifier init(Context context){ appContext = context; notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); packageName = appContext.getApplicationInfo().packageName; if (Locale.getDefault().getLanguage().equals("zh")) { msgs = msg_ch; } else { msgs = msg_eng; } audioManager = (AudioManager) appContext.getSystemService(Context.AUDIO_SERVICE); vibrator = (Vibrator) appContext.getSystemService(Context.VIBRATOR_SERVICE); return this; }
/** * Set the audio device to be used for playback. * * @param output 1=earpiece, 2=speaker */ @SuppressWarnings("deprecation") public void setAudioOutputDevice(int output) { String TAG1 = "AudioHandler.setAudioOutputDevice(): Error : "; AudioManager audiMgr = (AudioManager) this.cordova.getActivity().getSystemService(Context.AUDIO_SERVICE); if (output == 2) { audiMgr.setRouting(AudioManager.MODE_NORMAL, AudioManager.ROUTE_SPEAKER, AudioManager.ROUTE_ALL); } else if (output == 1) { audiMgr.setRouting(AudioManager.MODE_NORMAL, AudioManager.ROUTE_EARPIECE, AudioManager.ROUTE_ALL); } else { LOG.e(TAG1," Unknown output device"); } }
public void StartCameraScanner() { inactivityTimer = new InactivityTimer(this.getActivity()); if (!hasSurface) { initCamera(surfaceHolder); } else { surfaceHolder.addCallback(this); surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); } decodeFormats = null; characterSet = null; playBeep = true; AudioManager audioService = (AudioManager) getActivity().getSystemService(getActivity().AUDIO_SERVICE); if (audioService.getRingerMode() != AudioManager.RINGER_MODE_NORMAL) { playBeep = false; } initBeepSound(); vibrate = true; }
public void release(boolean cleartargetstate) { if (mRenderView != null && renderCallback != null) mRenderView.removeRenderCallback(renderCallback); if (mMediaPlayer != null) { mMediaPlayer.reset(); mMediaPlayer.release(); mMediaPlayer = null; mCurrentState = STATE_IDLE; if (cleartargetstate) { mTargetState = STATE_IDLE; } AudioManager am = (AudioManager) mAppContext.getSystemService(Context.AUDIO_SERVICE); am.abandonAudioFocus(null); } }
public KeyButtonView(Context context) { super(context); mCode = 0; setDrawingAlpha(mQuiescentAlpha); setClickable(true); mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); mRipple = new KeyButtonRipple(context, this); setBackground(mRipple); }
@Override public void onStartTrackingTouch(SeekBar seekBar) { isDragging = true; show(3600000); handler.removeMessages(MESSAGE_SHOW_PROGRESS); if (instantSeeking){ audioManager.setStreamMute(AudioManager.STREAM_MUSIC, true); } }
@Override public void onStopTrackingTouch(SeekBar seekBar) { if (!instantSeeking){ videoView.seekTo((int) ((duration * seekBar.getProgress()*1.0) / 1000)); } show(defaultTimeout); handler.removeMessages(MESSAGE_SHOW_PROGRESS); audioManager.setStreamMute(AudioManager.STREAM_MUSIC, false); isDragging = false; handler.sendEmptyMessageDelayed(MESSAGE_SHOW_PROGRESS, 1000); }
public void stopPlayback() { if (mMediaPlayer != null) { mMediaPlayer.stop(); mMediaPlayer.release(); mMediaPlayer = null; if (mHudViewHolder != null) mHudViewHolder.setMediaPlayer(null); mCurrentState = STATE_IDLE; mTargetState = STATE_IDLE; AudioManager am = (AudioManager) mAppContext.getSystemService(Context.AUDIO_SERVICE); am.abandonAudioFocus(null); } }
@Override public void onCreate() { audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); NotificationCenter.getInstance().addObserver(this, NotificationCenter.audioProgressDidChanged); NotificationCenter.getInstance().addObserver(this, NotificationCenter.audioPlayStateChanged); super.onCreate(); }
private synchronized void updatePrefs() { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity); playBeep = shouldBeep(prefs, activity); vibrate = true; if (playBeep && mediaPlayer == null) { // The volume on STREAM_SYSTEM is not adjustable, and users found it // too loud, // so we now play on the music stream. activity.setVolumeControlStream(AudioManager.STREAM_MUSIC); mediaPlayer = buildMediaPlayer(activity); } }
@Override public void buildRenderers(DemoPlayer player) { Allocator allocator = new DefaultAllocator(BUFFER_SEGMENT_SIZE); // Build the video and audio renderers. DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter(player.getMainHandler(), null); DataSource dataSource = new DefaultUriDataSource(context, bandwidthMeter, userAgent); ExtractorSampleSource sampleSource = new ExtractorSampleSource(uri, dataSource, allocator, BUFFER_SEGMENT_COUNT * BUFFER_SEGMENT_SIZE); MediaCodecVideoTrackRenderer videoRenderer = new MediaCodecVideoTrackRenderer(context, sampleSource, MediaCodecSelector.DEFAULT, MediaCodec.VIDEO_SCALING_MODE_SCALE_TO_FIT, 5000, player.getMainHandler(), player, 50); MediaCodecAudioTrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource, MediaCodecSelector.DEFAULT, null, true, player.getMainHandler(), player, AudioCapabilities.getCapabilities(context), AudioManager.STREAM_MUSIC); TrackRenderer textRenderer = new TextTrackRenderer(sampleSource, player, player.getMainHandler().getLooper()); // Invoke the callback. TrackRenderer[] renderers = new TrackRenderer[DemoPlayer.RENDERER_COUNT]; renderers[DemoPlayer.TYPE_VIDEO] = videoRenderer; renderers[DemoPlayer.TYPE_AUDIO] = audioRenderer; renderers[DemoPlayer.TYPE_TEXT] = textRenderer; player.onRenderers(renderers, bandwidthMeter); }
/** * 准备播放之前额准备动作,同步调用,适合于文件 * 如果是流,调用asyncPrepare() * @param path */ public void prepare(String path) { try { currentMediaState = MediaState.PREPARE; mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mediaPlayer.setDataSource(path); mediaPlayer.setSurface(surface); mediaPlayer.prepare(); } catch (Exception e) { } }
private void startPlayback() { try { if (audioPlay == null) initAudioPlayer(); int result = audioMgr.requestAudioFocus(audioFocusListener, AudioManager.STREAM_MUSIC, AudioManager .AUDIOFOCUS_GAIN); if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) audioPlay.start(); } catch (IOException ioe) { Snackbar.make(recordBtn, "Unable to initialize Audio", Snackbar.LENGTH_LONG).show(); } }
public void updatePrefs() { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity); playBeep = shouldBeep(prefs, activity); vibrate = prefs.getBoolean(activity.getString(R.string.preferences_vibrate), false); if (playBeep && mediaPlayer == null) { // The volume on STREAM_SYSTEM is not adjustable, and users found it too loud, // so we now play on the music stream. activity.setVolumeControlStream(AudioManager.STREAM_MUSIC); mediaPlayer = buildMediaPlayer(activity); } }
@Override public void onCreate() { super.onCreate(); // load app state loadAppState(getApplication()); // set up variables mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); mStationMetadataReceived = false; mSession = createMediaSession(this); mUserAgent = Util.getUserAgent(this, APPLICATION_NAME); // create Wifi and wake locks mWifiLock = ((WifiManager) this.getSystemService(Context.WIFI_SERVICE)).createWifiLock(WifiManager.WIFI_MODE_FULL, "Transistor_wifi_lock"); PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE); mWakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Transistor_wake_lock"); // create media controller try { mController = new MediaControllerCompat(getApplicationContext(), mSession.getSessionToken()); } catch (RemoteException e) { LogHelper.e(LOG_TAG, "RemoteException: " + e); e.printStackTrace(); } // get instance of mExoPlayer createExoPlayer(); }
/** * 调节系统媒体音量 * * @param volumePer */ private void updateSystemVolume(int volumePer) { int targetVolumePer = volumePer + mGestureView.getVolumeProgress(); mGestureView.setVolumeProgress(targetVolumePer); int targetVolume = (int) (targetVolumePer * 1.0F / 100 * maxVolume); audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, targetVolume, 0); Log.i(TAG, "updateSystemVolume: targetVolumePer = " + targetVolumePer + ", targetVolume = " + targetVolume); }
private void prepare(Surface surface) { try { mediaPlayer.reset(); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); // 设置需要播放的视频 mediaPlayer.setDataSource(path); // 把视频画面输出到Surface mediaPlayer.setSurface(surface); mediaPlayer.setLooping(false); mediaPlayer.prepareAsync(); mediaPlayer.seekTo(0); } catch (Exception e) { } }