做網(wǎng)站推廣客服好做么百度地址
介紹
此Demo展示如何在ArkTS中調(diào)用相機拍照和錄像,以及如何使用媒體庫接口進行媒體文件的增、刪、改、查操作。
本示例用到了權(quán)限管理能力@ohos.abilityAccessCtrl
相機模塊能力接口@ohos.multimedia.camera
圖片處理接口@ohos.multimedia.image
音視頻相關(guān)媒體業(yè)務(wù)能力接口@ohos.multimedia.media
媒體庫管理接口@ohos.multimedia.medialibrary
設(shè)備信息能力接口@ohos.deviceInfo
文件存儲管理能力接口@ohos.fileio
彈窗能力接口@ohos.prompt
效果預(yù)覽
使用說明
1.啟動應(yīng)用,在權(quán)限彈窗中授權(quán)后返回應(yīng)用,首頁顯示當(dāng)前設(shè)備的相冊信息,首頁監(jiān)聽相冊變化會刷新相冊列表。
2.點擊 + 按鈕,彈出相機、錄音、文本文件三個圖標(biāo)。
3.安裝相機應(yīng)用Camera應(yīng)用后,點擊相機圖標(biāo),進入相機界面,默認(rèn)是拍照模式,點擊底部拍照按鈕可以拍照,拍照完成會在底部左側(cè)顯示照片預(yù)覽圖。點擊錄像切換到錄像模式,點擊底部按鈕開始錄像,點擊結(jié)束按鈕結(jié)束錄像,結(jié)束錄像后底部左側(cè)顯示視頻圖標(biāo)。點擊系統(tǒng)Back鍵或界面頂部返回按鈕返回首頁。
4.點擊錄音圖標(biāo)進入錄音界面,點擊右側(cè)開始按鈕開始錄音,按鈕變?yōu)闀和0粹o,點擊可以暫停和繼續(xù)錄音,點擊左側(cè)結(jié)束按鈕結(jié)束錄音返回首頁。
5.點擊文本圖標(biāo)進入文本編輯界面,輸入文本內(nèi)容后點擊Save按鈕,會創(chuàng)建并寫入文本文件,完成后返回首頁。
6.點擊相冊進入文件列表界面,展示相冊內(nèi)的文件,列表中有刪除和重命名按鈕,點擊可以刪除文件和重命名文件。
7.安裝視頻播放VideoPlayer應(yīng)用后,點擊視頻文件可以調(diào)起視頻播放界面播放該視頻。
相關(guān)概念
媒體庫管理:媒體庫管理提供接口對公共媒體資源文件進行管理,包括文件的增、刪、改、查等。 相機:相機模塊支持相機相關(guān)基礎(chǔ)功能的開發(fā),主要包括預(yù)覽、拍照、錄像等。
工程目錄
entry/src/main/ets/
|---MainAbility
| |---MainAbility.ts // 主程序入口,應(yīng)用啟動時獲取相應(yīng)權(quán)限
|---pages
| |---index.ets // 首頁
| |---AlbumPage.ets // 相冊頁面
| |---CameraPage.ets // 相機頁面
| |---RecordPage.ets // 錄音頁面
| |---DocumentPage.ets // 存儲文件頁面
|---model
| |---CameraService.ts // 相機模塊(拍照錄像模式)
| |---DateTimeUtil.ts // 日期工具包
| |---MediaUtils.ts // 媒體工具模塊
| |---RecordModel.ts // 錄音模塊(底層能力實現(xiàn))
| |---TimeUtils.ts // 時間工具包
|---view
| |---BasicDataSource.ets // 初始化媒體服務(wù)數(shù)組
| |---MediaItem.ets // 定義具體的某一媒體模塊頁面
| |---MediaView.ets // 媒體模塊的前置模塊(判斷是否有展示的媒體內(nèi)容)
| |---RenameDialog.ets // 重命名文件模塊
| |---TitleBar.ets // 標(biāo)題欄
具體實現(xiàn)
-
布局原理:定義@ObjectLink
裝飾的數(shù)組變量album存放資源文件,使用list()組件中ListItem()循環(huán)數(shù)組展示,加號Button(),點擊后觸發(fā)
animateTo({ duration: 500, curve: Curve.Ease })控制動畫展示。 -
獲取資源文件:通過引入媒體庫實例(入口)接口@ohos.multimedia.medialibrary,例如通過this.getFileAssetsFromType(mediaLibrary.MediaType.FILE)獲取FILE類型的文件資源,并通過albums.push()添加至album數(shù)組中。
-
展示系統(tǒng)資源文件:當(dāng)album內(nèi)的值被修改時,只會讓用 @ObjectLink 裝飾的變量album所在的組件被刷新,當(dāng)前組件不會刷新。
-
錄音功能:通過引入音視頻接口@ohos.multimedia.media,例如通過media.createAudioRecorder()創(chuàng)建音頻錄制的實例來控制音頻的錄制,通過this.audioRecorder.on(‘prepare’,
() => {this.audioRecorder.start()})異步方式開始音頻錄制。 -
拍照錄像功能:通過引入相機模塊接口@ohos.multimedia.camera,例如通過this.cameraManager.createCaptureSession()創(chuàng)建相機入口的實例來控制拍照和錄像,通過this.captureSession.start()開始會話工作
相關(guān)權(quán)限
相機權(quán)限:ohos.permission.CAMERA麥克風(fēng)權(quán)限:ohos.permission.MICROPHONE訪問媒體文件地理位置信息權(quán)限:ohos.permission.MEDIA_LOCATION讀取公共媒體文件權(quán)限:ohos.permission.READ_MEDIA讀寫公共媒體文件權(quán)限:ohos.permission.WRITE_MEDIA
依賴
不涉及
約束與限制
1.rk3568底層錄像功能有問題,暫不支持錄像功能,當(dāng)前拍照功能僅支持部分機型。
2.本示例僅支持標(biāo)準(zhǔn)系統(tǒng)上運行。
3.本示例為Stage模型,已適配API version 9版本SDK,版本號:3.2.11.9;
4.本示例需要使用DevEco Studio 3.1 Beta2 (Build Version: 3.1.0.400, built on April 7, 2023)及以上版本才可編譯運行。
下載
如需單獨下載本工程,執(zhí)行如下命令:
git init
git config core.sparsecheckout true
echo code/Solutions/Media/MultiMedia/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master
為了幫助大家更深入有效的學(xué)習(xí)到鴻蒙開發(fā)知識點,小編特意給大家準(zhǔn)備了一份全套最新版的HarmonyOS NEXT學(xué)習(xí)資源,獲取完整版方式請點擊→HarmonyOS教學(xué)視頻:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
HarmonyOS教學(xué)視頻:語法ArkTS、TypeScript、ArkUI等…視頻教程
鴻蒙生態(tài)應(yīng)用開發(fā)白皮書V2.0PDF: 獲取完整版白皮書方式請點擊→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
鴻蒙 (Harmony OS)開發(fā)學(xué)習(xí)手冊
一、入門必看
1.應(yīng)用開發(fā)導(dǎo)讀(ArkTS)
2………
二、HarmonyOS 概念
1.系統(tǒng)定義
2.技術(shù)架構(gòu)
3.技術(shù)特性
4.系統(tǒng)安全
5…
三、如何快速入門?《做鴻蒙應(yīng)用開發(fā)到底學(xué)習(xí)些啥?》https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
1.基本概念
2.構(gòu)建第一個ArkTS應(yīng)用
3…
四、開發(fā)基礎(chǔ)知識
1.應(yīng)用基礎(chǔ)知識
2.配置文件
3.應(yīng)用數(shù)據(jù)管理
4.應(yīng)用安全管理
5.應(yīng)用隱私保護
6.三方應(yīng)用調(diào)用管控機制
7.資源分類與訪問
8.學(xué)習(xí)ArkTS語言
五、基于ArkTS 開發(fā)
1.Ability開發(fā)
2.UI開發(fā)
3.公共事件與通知
4.窗口管理
5.媒體
6.安全
7.網(wǎng)絡(luò)與鏈接
8.電話服務(wù)
9.數(shù)據(jù)管理
10.后臺任務(wù)(Background Task)管理
11.設(shè)備管理
12.設(shè)備使用信息統(tǒng)計
13.DFX
14.國際化開發(fā)
15.折疊屏系列
更多了解更多鴻蒙開發(fā)的相關(guān)知識可以參考:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3