Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
facff0bc
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
facff0bc
编写于
11月 01, 2022
作者:
Z
zengyawen
提交者:
Gitee
11月 01, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add zh-cn/application-dev/faqs/faqs-media.md.
Signed-off-by:
N
zengyawen
<
zengyawen1@huawei.com
>
上级
e9dac1af
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
136 addition
and
0 deletion
+136
-0
zh-cn/application-dev/faqs/faqs-media.md
zh-cn/application-dev/faqs/faqs-media.md
+136
-0
未找到文件。
zh-cn/application-dev/faqs/faqs-media.md
0 → 100644
浏览文件 @
facff0bc
# 媒体开发常见问题
## 如何设置前置拍照
适用于:OpenHarmony SDK 3.2.3.5版本,API9 Stage模型
1.
设置相机位置camera.CameraPosition.CAMERA_POSITION_FRONT
2.
根据相机位置和类型创建CameraInput实例
参考文档:
[
相机管理
](
../reference/apis/js-apis-camera.md#%E7%9B%B8%E6%9C%BA%E7%AE%A1%E7%90%86
)
示例:
```
//默认设置后置相机,通过设置isFrontCamera来切换相机
let cameraId
let cameraInput
for(let cameraIndex = 0; cameraIndex < this.cameraArray.length; cameraIndex++) {
let faceType = this.cameraArray[cameraIndex].cameraPosition
switch(faceType) {
case camera.CameraPosition.CAMERA_POSITION_FRONT://前置相机
if(this.isFrontCamera){
cameraId = this.cameraArray[cameraIndex].cameraId
}
break
case camera.CameraPosition.CAMERA_POSITION_BACK://后置相机
if(!this.isFrontCamera){
cameraId = this.cameraArray[cameraIndex].cameraId
}
break
case camera.CameraPosition.CAMERA_POSITION_UNSPECIFIED:
default:
break
}
}
cameraInput = await this.cameraManager.createCameraInput(cameraId)熊文帅
```
## 如何进行图片剪切
适用于:OpenHarmony 3.2.5.6版本,API9 Stage模型
1.
**通过传入的uri创建图片源实例ImageSource对象。**
```
let path = this.context.getApplicationContext().fileDirs + "test.jpg";
const imageSourceApi = image.createImageSource(path);
```
2.
**设置解码参数,通过图片解码获取PixelMap图像对象,解码过程中同时支持图像处理操作。**
-
设置desiredSize支持按尺寸缩放,如果设置为全0,则不进行缩放。
-
设置desiredRegion支持按矩形区域裁剪,如果设置为全0,则不进行裁剪。
-
设置rotateDegrees支持旋转角度,以图像中心点顺时针旋转。
```
const decodingOptions = {
desiredSize: {
height:0,
width:0
},
//按矩形区域裁剪
desiredRegion: {
size: {
height:100,
width:100
},
x:0,
y:0
},
//旋转90度
rotate:90
}
imageSourceApi.createPixelMap(decodingOptions).then(pixelMap => {
this.handlePixelMap(pixelMap)
})
```
3.
解码完成获取到PixelMap对象后,可以进行后续处理,比如渲染显示等。
## 如何申请设备上的媒体读写权限
适用于:OpenHarmonySDK 3.2.5.5版本,API9 Stage模型
1.
在module.json5配置文件中配置媒体读写权限ohos.permission.READ_MEDIA和ohos.permission.WRITE_MEDIA。
示例:
```
{
"module" : {
"requestPermissions":[
{
"name" : "ohos.permission.READ_MEDIA",
"reason": "$string:reason"
},
{
"name" : "ohos.permission.WRITE_MEDIA",
"reason": "$string:reason"
}
]
}
}
```
2.
这两个权限的授权方式均为user_grant,因此需要调用requestPermissionsFromUser接口,以动态弹窗的方式向用户申请授权。
```
let permissions: Array<string> = ['ohos.permission.READ_MEDIA','ohos.permission.WRITE_MEDIA']
context.requestPermissionsFromUser(permissions).then((data) => {
console.log("Succeed to request permission from user with data: " + JSON.stringify(data))
}).catch((error) => {
console.log("Failed to request permission from user with error: " + JSON.stringify(error))
})
```
## MP4格式的视频为什么播放不了
适用于:OpenHarmonySDK 3.2.7.5版本,API9 Stage模型
暂不支持h.265编码格式的MP4视频播放。
## 为什么视频创建至十几个时新创建的视频无法播放甚至崩溃
适用于:OpenHarmonySDK 3.2.7.5版本,API9 Stage模型
当前限制最多创建13个媒体播放实例。
## openharmony媒体播放失败<406 no buffer>
适用于:OpenHarmonySDK 3.2.5.5版本,API9 Stage模型
V900单板未适配HDI驱动, 需要厂商进行适配
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录