HarmonyOS 鸿蒙Next 打开本地音频问题

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

我打开本地PDF格式或者word都能打开,但是音频不知道是后缀问题还是文件位置问题,打开文件管理器后找不到本地音频,该怎么解决呢?还是说音频的入口不是这里?

const documentSelectOptions = new picker.DocumentSelectOptions();
documentSelectOptions.fileSuffixFilters = ['m4a','mp3','pdf'];
documentSelectOptions.maxSelectNumber = 1
PickerUtil.selectDocument(documentSelectOptions)

更多关于HarmonyOS 鸿蒙Next 打开本地音频问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

我写了个demo,发现是可以找到音频文件的啊。你检查下 桌面->实用工具->文件管理->音频里面有没有对应的文件啊?没有肯定找不到啊。或者你去网上下载一些音频,然后去我的手机里去找,代码是没有问题的,应该是文件不存在的问题。

import { example } from './Test5';
import { common } from '@kit.AbilityKit';

@Entry
@Component
struct Index {
  private context = this as common.UIAbilityContext;

  build() {
    Column() {
      Button() {
        Text('测试')
          .onClick(() =>{
            example(this.context)
          })
      }
      .position({ x: 80, y: 100 })
      .height(100)
      .width(100)
    }.height('100%')
    .width('100%')
  }
}
import { BusinessError } from '@kit.BasicServicesKit';
import { common } from '@kit.AbilityKit';
import  { picker } from '@kit.CoreFileKit';

export async function example(context: common.Context) { // 需确保 context 由 UIAbilityContext 转换而来
  try {
    let documentSelectOptions = new picker.DocumentSelectOptions();
    let documentPicker = new picker.DocumentViewPicker(context);
    documentSelectOptions.fileSuffixFilters = ['m4a','mp3','pdf'];
    documentSelectOptions.maxSelectNumber = 1
    documentPicker.select(documentSelectOptions).then((documentSelectResult: Array<string>) =>{
      console.info('DocumentViewPicker.select successfully, documentSelectResult uri: ' + JSON.stringify(documentSelectResult));
    }).catch((err: BusinessError) =>{
      console.error('DocumentViewPicker.select failed with err: ' + JSON.stringify(err));
    });
  } catch (error) {
    let err: BusinessError = error as BusinessError;
    console.error('DocumentViewPicker failed with err: ' + JSON.stringify(err));
  }
}

更多关于HarmonyOS 鸿蒙Next 打开本地音频问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中打开本地音频文件,可以通过调用系统提供的多媒体API接口实现。以下是实现该功能的基本步骤:

  1. 权限申请:首先,需要在config.json文件中申请访问本地存储的权限,确保应用有权限读取音频文件。

  2. 音频文件管理:通过系统提供的文件管理器API,定位到存储音频文件的目录,并获取音频文件的路径。

  3. 音频播放接口:使用HarmonyOS提供的多媒体播放接口,创建音频播放器实例,并设置音频文件的路径。调用播放方法开始播放音频。

  4. 错误处理:在播放过程中,需要处理可能发生的错误,如文件不存在、格式不支持等,确保应用能够给出适当的提示或进行恢复操作。

  5. 资源释放:音频播放结束后,及时释放音频播放器资源,避免内存泄漏。

示例代码(伪代码):

// 申请权限(在config.json中配置)
// ...

// 获取音频文件路径
let audioPath = "/path/to/audio/file.mp3";

// 创建音频播放器
let audioPlayer = media.createAudioPlayer();
audioPlayer.setSrc(audioPath);

// 开始播放
audioPlayer.play();

// 错误处理及资源释放逻辑需根据实际需求添加

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部