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

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

源代码1 项目: mollyim-android   文件: IncomingRinger.java
private MediaPlayer createPlayer(@NonNull Uri ringtoneUri) {
  try {
    MediaPlayer mediaPlayer = new MediaPlayer();

    mediaPlayer.setOnErrorListener(new MediaPlayerErrorListener());
    mediaPlayer.setDataSource(context, ringtoneUri);
    mediaPlayer.setLooping(true);

    if (Build.VERSION.SDK_INT <= 21) {
      mediaPlayer.setAudioStreamType(AudioManager.STREAM_RING);
    } else {
      mediaPlayer.setAudioAttributes(new AudioAttributes.Builder()
                                                        .setContentType(AudioAttributes.CONTENT_TYPE_SPEECH)
                                                        .setUsage(AudioAttributes.USAGE_VOICE_COMMUNICATION_SIGNALLING)
                                                        .build());
    }

    return mediaPlayer;
  } catch (IOException e) {
    Log.e(TAG, "Failed to create player for incoming call ringer");
    return null;
  }
}
 
源代码2 项目: 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();
    }
}
 
源代码3 项目: kcanotify   文件: 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();
    }
}
 
源代码4 项目: justaline-android   文件: PlaybackView.java
private void prepareMediaPlayer(Uri uri) {
    Log.d(TAG, "prepareMediaPlayer: " + uri);
    try {
        mMediaPlayer = new MediaPlayer();
        mMediaPlayer.setOnPreparedListener(this);
        mMediaPlayer.setDataSource(getContext(), uri);
        mMediaPlayer.setSurface(mSurface);
        mMediaPlayer.setAudioAttributes(mAudioAttributes);
        mMediaPlayer.setLooping(true);
        mMediaPlayer.prepare();
    } catch (IOException | IllegalStateException e) {
        Log.e(TAG, "prepareMediaPlayer: ", e);
    }
}
 
源代码5 项目: Game   文件: soundPlayer.java
public static void playSoundFile(String key) {
    try {
        if (!orsc.mudclient.optionSoundDisabled) {
            File sound = orsc.mudclient.soundCache.get(key + ".wav");
            if (sound == null)
                return;
            try {
                MediaPlayer player = new MediaPlayer();
                AudioAttributes audioAttrib = new AudioAttributes.Builder()
                        .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
                        .setUsage(AudioAttributes.USAGE_MEDIA)
                        .build();
                player.setDataSource(sound.getPath());
                player.setAudioAttributes(audioAttrib);
                player.setLooping(false);
                player.prepare();
                player.start();
                player.setOnCompletionListener(MediaPlayer::release);

            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }

    } catch (RuntimeException ignored) {
    }
}
 
@Override
void setAudioAttributes(MediaPlayer instance, AudioAttributes attributes) {
    android.media.AudioAttributes attributes2;

    attributes2 = (new android.media.AudioAttributes.Builder())
            .setContentType(attributes.getContentType())
            .setUsage(attributes.getUsage())
            .setFlags(attributes.getFlags())
            .build();

    instance.setAudioAttributes(attributes2);
}