在鸿蒙Next应用中,获取在线视频尺寸信息可以通过AVPlayer或AVMetadata实现。以下是核心步骤和示例代码:
方法一:使用AVPlayer获取视频尺寸
import media from '@ohos.multimedia.media';
// 创建AVPlayer实例
let avPlayer: media.AVPlayer = await media.createAVPlayer();
// 设置视频URL
avPlayer.url = 'https://example.com/sample.mp4';
// 监听元数据加载完成事件
avPlayer.on('metadataUpdate', (info: media.AVMetadata) => {
  // 获取视频宽度和高度
  let width = info.videoWidth;
  let height = info.videoHeight;
  console.log(`视频尺寸: ${width}x${height}`);
});
// 准备播放(触发元数据加载)
avPlayer.prepare();
方法二:通过AVMetadataExtractor
import media from '@ohos.multimedia.media';
let extractor: media.AVMetadataExtractor = await media.createAVMetadataExtractor();
extractor.url = 'https://example.com/sample.mp4';
// 获取元数据
let metadata: media.AVMetadata = await extractor.fetchMetadata();
console.log(`视频尺寸: ${metadata.videoWidth}x${metadata.videoHeight}`);
注意事项:
- 需要网络权限:在module.json5中添加权限请求
"requestPermissions": [
  {
    "name": "ohos.permission.INTERNET"
  }
]
- 建议在异步任务中执行网络操作
- 处理异常情况(如网络错误、格式不支持等)
关键属性说明:
- videoWidth:视频宽度(像素)
- videoHeight:视频高度(像素)
- duration:视频时长(毫秒)
通过监听元数据事件或直接提取元数据,即可在视频播放前获取尺寸信息,适用于界面布局调整或预览功能实现。