MediaPlayer.setAudioStreamType()方法过时用setAudioAttributes()方法替代

本文介绍了Android中创建和使用MediaPlayer的两种方法。第一种是通过`MediaPlayer.create()`直接加载R.raw资源或 Uri,自动准备播放。第二种是手动初始化MediaPlayer,设置音频属性,然后加载数据源和准备播放。值得注意的是,`setAudioStreamType()`方法已过时,推荐使用`setAudioAttributes()`替代。在使用过程中需注意文件大小限制和异常处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Android中创建MediaPlayer() 有两种方法

  1. 第一种 :
MediaPlayer mp = MediaPlayer.create(Context,R.raw.xxx);

或者

MediaPlayer mp = MediaPlayer.create(Context,Uri.parse(String));

使用这种方法不用执行mp.prepare()语句,在create()语句中会自动执行的,直接可以执行mp.start()播放文件。
注意:
R.raw.xxx中的xxx文件不能过大,否则mp会实例化失败,返回一个null

  1. 第二种
MediaPlayer mp = new MediaPlayer();

以前使用setAudioStreamType()设置文件的格式的步骤是:

mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
    mediaPlayer.setDataSource("/sdcard/song.mp3");
    mediaPlayer.prepare();
    mediaPlayer.start();
} catch (IOException e) {
    e.printStackTrace();
}

现在官方给的文档说这个方法setAudioStreamType()过时了,可以使用这个方法代替setAudioAttributes(),步骤是:

mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioAttributes(new AudioAttributes
           .Builder()
           .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
           .build());
try {
     mediaPlayer.setDataSource("/sdcard/song.mp3");
     mediaPlayer.prepare();
     mediaPlayer.start();
 } catch (IOException e) {
     e.printStackTrace();
 }

完结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闲饭疙瘩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值