介紹
本示例使用audio相關(guān)接口實(shí)現(xiàn)音頻錄制和播放的功能,使用mediaLibrary實(shí)現(xiàn)音頻文件的管理。
相關(guān)概念:
AudioRecorder:音頻錄制的主要工作是捕獲音頻信號,完成音頻編碼并保存到文件中,幫助開發(fā)者輕松實(shí)現(xiàn)音頻錄制功能。它允許調(diào)用者指定音頻錄制的采樣率、聲道數(shù)、編碼格式、封裝格式、文件路徑等參數(shù)。
AudioPlayer:音頻播放的主要工作是將音頻數(shù)據(jù)轉(zhuǎn)碼為可聽見的音頻模擬信號并通過輸出設(shè)備進(jìn)行播放,同時對播放任務(wù)進(jìn)行管理。
效果預(yù)覽
使用說明:
1.啟動應(yīng)用,點(diǎn)擊首頁底部錄制按鈕跳轉(zhuǎn)到錄制界面開始錄制音頻,錄制過程中可以點(diǎn)擊右下角的暫停按鈕暫停錄制,點(diǎn)擊頂部返回鍵或紅色的停止按鈕停止錄音并返回首頁,首頁中展示錄制好的音頻文件。
2.點(diǎn)擊音頻文件可以播放該文件,播放界面可以點(diǎn)擊按鈕進(jìn)行暫停和繼續(xù)播放。
3.長按音頻文件進(jìn)入多選狀態(tài),可以選擇音頻文件,選擇后可以點(diǎn)擊底部的按鈕進(jìn)行重命名和刪除操作。
4.左滑音頻文件,可以滑出重命名和刪除按鈕,點(diǎn)擊可以對該音頻文件進(jìn)行重命名和刪除操作。
工程目錄
entry/src/main/ets/
|---common
| |---AnimateView.ets // 錄音動畫組件
| |---AudioItem.ets // 每項(xiàng)錄音組件
| |---BasicDataSource.ets // 計(jì)時組件
| |---CheckTitle.ets // 是否選擇標(biāo)題
| |---HomeView.ets // 主頁
| |---PlayView.ets // 播放組件
| |---RenameDialog.ets // 重命名彈窗組件
| |---TitleBar.ets // 首頁標(biāo)題組件
| |---TitleWithBack.ets // 詳情頁面標(biāo)題組件
|---entryAbility
| |---EntryAbility
|---model
| |---AudioModel.ts
| |---DateTimeUtil.ts // 日期工具
| |---Logger.ts // 日志工具
| |---MediaManager.ts
| |---Record.ets // 計(jì)時工具
| |---RecordModel.ts
| |---Utils.ts
|---pages
| |---Index.ets // 首頁
| |---Play.ets // 播放頁面
| |---RecordPage.ets // 錄音頁面
具體實(shí)現(xiàn)
- 本示例分為三個模塊:
- 錄音頁面模塊
- 使用FileAsset提供封裝文件屬性的方法,createAudioPlayer同步方式創(chuàng)建音頻播放實(shí)例實(shí)現(xiàn)錄音,暫停錄音功能
- 錄音列表模塊
- getMediaLibraryAPI訪問媒體數(shù)據(jù)信息,renameCallBack,renameDialogController方法對錄音進(jìn)行重命名,deleteFile,deleteDialogShow方法刪除某條錄音。
- 播放模塊
- createAudioPlayer方法創(chuàng)建音頻播放實(shí)例,onPageShow方法播放音頻,onPageHide方法暫停播放音頻。
- DateTimeUtil.ts,AudioModel.ts,Record.ets,MediaManager.ts
相關(guān)權(quán)限
權(quán)限一:用戶授權(quán),訪問媒體和文件
ohos.permission.WRITE_MEDIA
ohos.permission.READ_MEDIA
權(quán)限二:用戶授權(quán),使用麥克風(fēng)
ohos.permission.MICROPHONE
依賴
不涉及。
約束與限制
1.本示例僅支持標(biāo)準(zhǔn)系統(tǒng)上運(yùn)行。
2.本示例已適配API version 9版本SDK,版本號:3.2.14.5。
3.本示例需要使用DevEco Studio 3.1.1 Release (Build Version: 3.1.0.501, built on June 20, 2023)及以上版本才可編譯運(yùn)行;
4.本示例需要使用@ohos.process系統(tǒng)權(quán)限的系統(tǒng)接口。使用Full SDK時需要手動從鏡像站點(diǎn)獲取,并在DevEco Studio中替換,具體操作可參考替換指南。
下載
如需單獨(dú)下載本工程,執(zhí)行如下命令:
git init
git config core.sparsecheckout true
echo code/BasicFeature/Media/Recorder/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master
為了幫助大家更深入有效的學(xué)習(xí)到鴻蒙開發(fā)知識點(diǎn),小編特意給大家準(zhǔn)備了一份全套最新版的HarmonyOS NEXT學(xué)習(xí)資源,獲取完整版方式請點(diǎn)擊→HarmonyOS教學(xué)視頻:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
HarmonyOS教學(xué)視頻:語法ArkTS、TypeScript、ArkUI等…視頻教程
鴻蒙生態(tài)應(yīng)用開發(fā)白皮書V2.0PDF: 獲取完整版白皮書方式請點(diǎn)擊→https://docs.qq.com/doc/DZVVkRGRUd3pHSnFG?u=a42c4946d1514235863bb82a7b2ac128
鴻蒙 (Harmony OS)開發(fā)學(xué)習(xí)手冊→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
一、入門必看
1.應(yīng)用開發(fā)導(dǎo)讀(ArkTS)
2………
二、HarmonyOS 概念→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
1.系統(tǒng)定義
2.技術(shù)架構(gòu)
3.技術(shù)特性
4.系統(tǒng)安全
5…
三、如何快速入門?→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
1.基本概念
2.構(gòu)建第一個ArkTS應(yīng)用
3…
四、開發(fā)基礎(chǔ)知識→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
1.應(yīng)用基礎(chǔ)知識
2.配置文件
3.應(yīng)用數(shù)據(jù)管理
4.應(yīng)用安全管理
5.應(yīng)用隱私保護(hù)
6.三方應(yīng)用調(diào)用管控機(jī)制
7.資源分類與訪問
8.學(xué)習(xí)ArkTS語言
五、基于ArkTS 開發(fā)→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
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)計(jì)
13.DFX
14.國際化開發(fā)
15.折疊屏系列文章來源:http://www.zghlxwxcb.cn/news/detail-854414.html
更多了解更多鴻蒙開發(fā)的相關(guān)知識可以參考:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
文章來源地址http://www.zghlxwxcb.cn/news/detail-854414.html
到了這里,關(guān)于HarmonyOS實(shí)戰(zhàn)開發(fā)-錄音機(jī)、如何實(shí)現(xiàn)音頻錄制和播放的功能的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!