HarmonyOS 怎么通过路径获取到视频信息

有业务场景需要拿到视频文件的时长,并上报给服务端。

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Excelsior_abit

参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/avmetadataextractor-V5

测试文件放入了rawfile下面,使用getRawFd读取,如果是沙箱路径参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/avmetadataextractor-V5的testFetchMetadataFromDataSrc方法,获取datasrc。

import media from '@ohos.multimedia.media'

const TAG = 'MetadataDemo'

@Entry
@Component
struct PageMediaMeta {
  build() {
    Column() {
      Button("获取音频时长").onClick(async () => {
        // 创建AVMetadataExtractor对象
        let avMetadataExtractor: media.AVMetadataExtractor = await media.createAVMetadataExtractor()
        // 设置fdSrc
        avMetadataExtractor.fdSrc = await getContext(this).resourceManager.getRawFd('喜欢你.mp3');
        // 获取元信息(callback模式)
        avMetadataExtractor.fetchMetadata((error, metadata) => {
          if (error) {
            console.error(TAG, `fetchMetadata callback failed, err = ${JSON.stringify(error)}`)
            return
          }
          console.info(TAG, `fetchMetadata callback success, duration: ${metadata.duration}`)
        })
      })

      Button("获取视频时长").onClick(async () => {
        // 创建AVMetadataExtractor对象
        let avMetadataExtractor: media.AVMetadataExtractor = await media.createAVMetadataExtractor()
        // 设置fdSrc
        avMetadataExtractor.fdSrc = await getContext(this).resourceManager.getRawFd('videoTest.mp4');
        // 获取元信息(callback模式)
        avMetadataExtractor.fetchMetadata((error, metadata) => {
          if (error) {
            console.error(TAG, `fetchMetadata callback failed, err = ${JSON.stringify(error)}`)
            return
          }
          console.info(TAG, `fetchMetadata callback success, duration: ${metadata.duration}`)
        })
      })
    }
    .height('100%')
    .width('100%')
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
场景化控件中无法获取到定位信息
1853浏览 • 1回复 待解决
通过API获取系统信息属性
342浏览 • 1回复 待解决
如何通过路由的方式打开半屏
411浏览 • 1回复 待解决
通过API异步获取系统信息属性
443浏览 • 1回复 待解决
HarmonyOS怎么获取系统相册的路径
445浏览 • 1回复 待解决
应用通过什么接口获取设备标识信息
1730浏览 • 1回复 待解决
HarmonyOS 怎么获取视频的播放时长?
407浏览 • 1回复 待解决
SignalInformation怎么获取LAC CID等信息
7918浏览 • 1回复 待解决