HarmonyOS鸿蒙Next中如何播放1秒的短音频呢
HarmonyOS鸿蒙Next中如何播放1秒的短音频呢 我按照官方 代码 示例 :播放不了 1S 的短音频,谁能解释下 ,播放个 短音频 怎么 这么 麻烦啊。
我想实现的是 点击一个按钮,播放一次这个短音频:按钮事件代码如下:
Button('-', { type: ButtonType.Normal, stateEffect: true })
.borderRadius(8)
.backgroundColor(0x317aff)
.width(70)
.height(30)
.onClick(()=>{
if(this.time - 1 >=0){
//this.player.avPlayer.reset();
this.avPlayer.avPlayerFdSrcDemo(); //播放短音频
this.time--;
}
})
官方代码示例如下:
// 以下demo为使用资源管理接口获取打包在HAP内的媒体资源文件并通过fdSrc属性进行播放示例
public async avPlayerFdSrcDemo(){
console.info('fuck called 1.');
// 创建avPlayer实例对象
this.avPlayer = await media.createAVPlayer();
console.info('fuck called 2.');
// 创建状态机变化回调函数
//this.setAVPlayerCallback();
console.info('fuck called 3.');
// 通过UIAbilityContext的resourceManager成员的getRawFd接口获取媒体资源播放地址
// 返回类型为{fd,offset,length},fd为HAP包fd地址,offset为媒体资源偏移量,length为播放长度
let context = await getContext(this) as common.UIAbilityContext;
console.info('fuck called 4.');
let fileDescriptor = null;
try {
fileDescriptor = await context.resourceManager.getRawFd("3055.mp3", (error, value) => {
if (error != null) {
console.log(`callback getRawFd failed error code: ${error.code}, message: ${error.message}.`);
} else {
let fd = value.fd;
let offset = value.offset;
let length = value.length;
}
});
} catch (error) {
console.error(`callback getRawFd failed, error code: ${error.code}, message: ${error.message}.`)
};
console.info('fuck called 5.');
// 为fdSrc赋值触发initialized状态机上报
this.avPlayer.fdSrc = fileDescriptor;
console.info('fuck called 6.');
}
更多关于HarmonyOS鸿蒙Next中如何播放1秒的短音频呢的实战教程也可以访问 https://www.itying.com/category-93-b0.html
10 回复
您好,请您通过在线提单进一步解决:https://developer.huawei.com/consumer/cn/support/feedback/#/,感谢您的反馈和支持。
更多关于HarmonyOS鸿蒙Next中如何播放1秒的短音频呢的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
解决了吗,在线求答案
解决了吗,在线求答案
肯定是有人搞出来了,都试用过成品了,就是没人发出来
各位解决了吗?
您好,现在解决了嘛?
HarmonyOS的分布式文件系统让我在多设备间共享文件变得更加方便。
我也是这个需求,找不到一个简单的实例。
在HarmonyOS鸿蒙Next中播放1秒的短音频,可以使用AudioPlayer
类。首先,确保音频文件已放置在项目的resources/rawfile
目录下。然后,通过以下代码实现播放:
import audio from '@ohos.multimedia.audio';
// 创建AudioPlayer实例
let audioPlayer = audio.createAudioPlayer();
// 设置音频源
audioPlayer.src = 'resource://rawfile/short_audio.mp3';
// 准备播放
audioPlayer.prepare((err) => {
if (!err) {
// 开始播放
audioPlayer.play((err) => {
if (err) {
console.error('播放失败');
} else {
console.log('播放成功');
}
});
} else {
console.error('准备失败');
}
});
// 监听播放完成事件
audioPlayer.on('ended', () => {
console.log('播放结束');
audioPlayer.release();
});
这段代码会播放short_audio.mp3
文件,并在播放完成后释放资源。