【鸿蒙实战开发】如何在应用中播放音频文件

目录

1.创建AVPlayer的对象实例

2.监听avPlayer的状态改变做出相应的判断

3.设置播放源

4.停止播放

在鸿蒙应用开发中会设计到很多实用音频的效果,这个小案例主要介绍在鸿蒙用ArkTS中的AVPlayer 对象实例来播放音频,并根据播放状态做出相应的处理。

音频调用播放逻辑图

在这里插入图片描述

1.创建AVPlayer的对象实例

要使用 AVPlayer 播放音频,首先需要创建 AVPlayer 的对象实例。下面是在 ArkTS中创建 AVPlayer 实例的示例代码:

// 1. 创建了AVplayer对象实例 const avPlayer = await media.createAVPlayer() this.avplayer = avPlayer

2.监听avPlayer的状态改变做出相应的判断

一旦创建了 AVPlayer 实例,我们可以监听其状态改变事件,并根据状态做出相应的处理。示例代码演示如何监听 AVPlayer 的状态改变:

avPlayer.on("stateChange", async (state) => {  if (state === "initialized") {    //   表示avPlayer已经设置了播放源    avPlayer.prepare() }  if (state === "prepared") {    // 表示avPlayer已经进入了准备播放状态,此时就可以通知播放了    // 设置avPlayer循环播放音频    avPlayer.loop = true    avPlayer.play()    // promptAction.showToast({ message: '正在播放' })    console.log('正在播放') } })

3.设置播放源

在播放音频之前,需要将音频文件的 URL 设置为 AVPlayer 的播放源。下面是设置播放源的示例代码:

//   3. 设置播放源 avPlayer.url = url

4.停止播放

当需要停止播放音频时,可以调用 AVPlayer 的 stop 方法。下面是停止播放的示例代码:

//   4. 停止播放 this.avplayer.stop()

5.ArkTS中完整的播放音频函数代码

async playMp3(url: string) { // 1. 创建了AVplayer对象实例 const avPlayer =
await media.createAVPlayer() this.avplayer = avPlayer // 2.
监听avPlayer的状态改变 //avPlayer的状态机 avPlayer.on(“stateChange”, async
(state) => { if (state === “initialized”) { //
表示avPlayer已经设置了播放源 avPlayer.prepare() } if (state ===
“prepared”) { // 表示avPlayer已经进入了准备播放状态,此时就可以通知播放了 //
设置avPlayer循环播放音频 avPlayer.loop = true avPlayer.play()
// promptAction.showToast({ message: ‘正在播放’ })
console.log(‘正在播放’) } })​ // 3. 设置播放源 avPlayer.url = url }

总结

总的来说,华为鸿蒙不再兼容安卓,对中年程序员来说是一个挑战,也是一个机会。随着鸿蒙的不断发展以及国家的大力支持,未来鸿蒙职位肯定会迎来一个大的爆发,只有积极应对变化,不断学习和提升自己,我们才能在这个变革的时代中立于不败之地。

写在最后

●如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我两个小忙:
●点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
●关注小编,同时可以期待后续文章ing ,不定期分享原创知识。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值