• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.multimedia.movingphotoview (动态照片)(系统接口)
2
3用于播放动态照片文件并控制其播放状态的组件。
4
5> **说明:**
6>
7> - 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8> - 当前页面仅包含本模块的系统接口,其他公开接口参见[@ohos.multimedia.movingphotoview (动态照片)](ohos-multimedia-movingphotoview.md)。
9
10## MovingPhotoViewOptions
11
12
13| 参数名      | 参数类型                                                                                         | 必填 | 参数描述                                                                                                                                        |
14| ----------- | ------------------------------------------------------------------------------------------------ | ---- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
15| movingPhotoFormat<sup>14+</sup>  | [PixelMapFormat](#pixelmapformat14)    | 否   | 设置动态照片组件封面图片的解码格式。                  |
16| dynamicRangeMode<sup>14+</sup>  | [DynamicRangeMode](#dynamicrangemode14) | 否   | 设置动态照片组件封面图片的RangeMode样式。 |
17
18## PixelMapFormat<sup>14+</sup>
19
20动态照片组件封面图片的解码格式。
21
22**系统接口**:此接口为系统接口。
23
24**系统能力:** SystemCapability.FileManagement.PhotoAccessHelper.Core
25
26| 名称                   |   值   | 说明              |
27| ---------------------- | ------ | ----------------- |
28| UNKNOWN                | 0      | 未知格式。|
29| RGBA_8888             | 1      | 格式为RGBA_8888。|
30| NV21                  | 2      | 格式为NV21。 |
31| RGBA_1010102           | 3      | 格式为RGBA_1010102。|
32| YCBCR_P010            | 4      | 格式为YCBCR_P010。|
33| YCRCB_P010             | 5      | 格式为YCRCB_P010。 |
34
35## DynamicRangeMode<sup>14+</sup>
36
37动态照片组件封面图片的可使用的扩展范围,决定了图片的显示效果。
38
39**系统接口**:此接口为系统接口。
40
41**系统能力:** SystemCapability.FileManagement.PhotoAccessHelper.Core
42
43| 名称                   |   值   | 说明              |
44| ---------------------- | ------ | ----------------- |
45| HIGH                | 0      | 允许图像内容使用不受限制的扩展范围,显示HDR效果,建议使用的解码格式YCBCR_P010。|
46| CONSTRAINT         | 1      | 允许图像内容使用一些扩展范围。|
47| STANDARD            | 2      | 允许图像内容动态单位限制在标准范围内,显示SDR效果,需要使用的解码格式UNKNOWN或者RGBA_8888。|
48
49## 示例1:系统应用设置动态照片解码格式和rangemode格式
50
51```ts
52// 该示例只展示参数用法,具体可以执行用例参考动态照片公开接口文档
53import { photoAccessHelper, MovingPhotoView, MovingPhotoViewController, MovingPhotoViewAttribute } from '@kit.MediaLibraryKit';
54import { PixelMapFormat, DynamicRangeMode } from '@ohos.multimedia.movingphotoview';
55
56let data: photoAccessHelper.MovingPhoto
57async function loading(context: Context) {
58  try {
59    // 需要确保imageFileUri和videoFileUri对应的资源在应用沙箱存在
60    let imageFileUri = 'file://{bundleName}/data/storage/el2/base/haps/entry/files/xxx.jpg';
61    let videoFileUri = 'file://{bundleName}/data/storage/el2/base/haps/entry/files/xxx.mp4';
62    data = await photoAccessHelper.MediaAssetManager.loadMovingPhoto(context, imageFileUri, videoFileUri);
63    console.info('load moving photo successfully');
64  } catch (err) {
65    console.error(`load moving photo failed with error: ${err.code}, ${err.message}`);
66  }
67}
68@Entry
69@Component
70struct Index {
71  controller: MovingPhotoViewController = new MovingPhotoViewController();
72  format: undefined | PixelMapFormat = PixelMapFormat.YCBCR_P010;
73  mode: undefined | DynamicRangeMode = DynamicRangeMode.HIGH;
74  private uiContext: UIContext = this.getUIContext()
75  aboutToAppear(): void {
76    loading(this.uiContext.getHostContext()!)
77  }
78
79  build() {
80    NavDestination() {
81      Column() {
82        Stack({ alignContent: Alignment.BottomStart }) {
83          MovingPhotoView({
84            movingPhoto: data,
85            controller: this.controller,
86            movingPhotoFormat: this.format,
87            dynamicRangeMode: this.mode
88          })
89        }
90      }
91    }
92  }
93}
94```