HarmonyOS 鸿蒙Next 在使用AVPlayer时传入本地的MP3文件播放没有声音

发布于 1周前 作者 yibo5220 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 在使用AVPlayer时传入本地的MP3文件播放没有声音

用MP3格式没有声音,用wav格式有声音 
 

2 回复

参考demo:

import { media } from '@kit.MediaKit';
import { common } from '@kit.AbilityKit';
[@Entry](/user/Entry)
[@Component](/user/Component)
struct Index {
  [@State](/user/State) message: string = 'Hello World';
  build() {
    Column() {
      Button('播放')
        .onClick(async () => {
         await new AVPlayerDemo().avPlayerFdSrcDemo()
        })
    }
    .justifyContent(FlexAlign.Center)
    .height('100%')
    .width('100%')
  }
}
export class AVPlayerDemo {
  setAVPlayerCallback(avPlayer: media.AVPlayer) {
    // 状态机变化回调函数
    avPlayer.on('stateChange', async (state: string) => {
      switch (state) {
        case 'initialized':
          avPlayer.prepare()
          break;
        case 'prepared':
          avPlayer.play()
          break;
        case 'completed':
          avPlayer.stop()
          break
      }
    })
  }
  async avPlayerFdSrcDemo() {
    let avPlayer: media.AVPlayer = await media.createAVPlayer()
    let context = getContext(this) as common.UIAbilityContext
    let fileDescriptor = await context.resourceManager.getRawFd('noguess.mp3')
    let avFileDescriptor: media.AVFileDescriptor =
      { fd: fileDescriptor.fd, offset: fileDescriptor.offset, length: fileDescriptor.length }
    this.setAVPlayerCallback(avPlayer)
    avPlayer.fdSrc = avFileDescriptor
  }
} 

更多关于HarmonyOS 鸿蒙Next 在使用AVPlayer时传入本地的MP3文件播放没有声音的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中,使用AVPlayer播放本地MP3文件没有声音的问题,通常可能是由以下几个原因导致的:

  1. 权限问题:确保应用已经获取了读取本地存储的权限。这是播放本地音频文件的基本要求。

  2. 文件路径:检查MP3文件的路径是否正确。路径错误会导致文件无法加载,从而无法播放声音。

  3. 音频输出设置:确认AVPlayer的音频输出设置是否正确。例如,如果设备连接了耳机或外部音频设备,确保AVPlayer配置为使用正确的音频输出设备。

  4. 音频焦点:应用需要请求并获取音频焦点才能播放声音。如果其他应用已经占用了音频焦点,AVPlayer可能无法正常播放声音。

  5. AVPlayer状态:检查AVPlayer的状态,确保它已经正确初始化并且处于播放状态。

  6. 文件格式支持:确认MP3文件的格式和编码是否被AVPlayer支持。

如果以上检查都无误,但问题依旧存在,可能是AVPlayer的内部问题或者设备硬件问题。此时,建议直接联系官网客服获取进一步的帮助。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。

回到顶部