chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

harmony OS NEXT-音頻錄制與播放模塊

程奕紅 ? 來源:jf_34770892 ? 作者:jf_34770892 ? 2025-03-27 17:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

# HarmonyOS 音頻錄制與播放模塊

## 1.模塊功能概覽

- **麥克風(fēng)權(quán)限動態(tài)檢測與申請**
- **音頻錄制功能**(支持參數(shù)配置)
- **音頻波形實時可視化**(暫時未完善,先湊合看,后續(xù)會完善)
- **錄音文件播放功能**

## 2.權(quán)限檢測流程

### 1.代碼實現(xiàn)

```typescript
async checkPermission() {
const manager = abilityAccessCtrl.createAtManager();

// 首次權(quán)限申請
const result = await manager.requestPermissionsFromUser(
getContext(), ["ohos.permission.MICROPHONE"]
);

// 檢查所有權(quán)限是否通過
const isPass = result.authResults.every(
res => res === abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED
);

if (!isPass) {
// 二次彈窗引導(dǎo)設(shè)置
const confirm = await promptAction.showDialog({...});

if (confirm.index === 1) {
// 跳轉(zhuǎn)系統(tǒng)設(shè)置
const finalResult = await manager.requestPermissionOnSetting(
getContext(), ["ohos.permission.MICROPHONE"]
);
}
}
}
```

### 2.2. 權(quán)限狀態(tài)處理

| 狀態(tài) | 處理方式 |
| -------------------- | -------------------- |
| 第一次授權(quán)成功 | 直接啟用錄音功能 |
| 第一次授權(quán)失敗 | 彈窗提示前往系統(tǒng)設(shè)置 |
| 系統(tǒng)設(shè)置二次授權(quán)失敗 | 返回上級頁面 |

## 3. 錄音功能核心實現(xiàn)

#### 1.錄音機配置

```ts
// 創(chuàng)建文件描述符
const file = fileIo.openSync(filePath,
fileIo.OpenMode.CREATE | fileIo.OpenMode.READ_WRITE);

// AVRecorder 參數(shù)配置
const config = {
audioSourceType: media.AudioSourceType.AUDIO_SOURCE_TYPE_MIC,
url: `fd://${file.fd}`,
profile: {
audioBitrate: 100000,
audioChannels: 2,
audioSampleRate: 48000,
audioCodec: media.CodecMimeType.AUDIO_AAC,
fileFormat: media.ContainerFormatType.CFT_MPEG_4A
}
};
```

### 2.錄音操作控制

| 方法 | 功能描述 |
| ------------- | ------------------------------ |
| startRecord() | 創(chuàng)建文件句柄/配置參數(shù)/啟動錄音 |
| stopRecord() | 停止錄音/釋放資源/關(guān)閉文件 |

### 3.音頻播放實現(xiàn)

```ts
async playRecord() {
const avPlayer = await media.createAVPlayer();
avPlayer.url = `fd://${file.fd}`;

avPlayer.on('stateChange', (state) => {
if (state === 'initialized') {
avPlayer.prepare();
} else if (state === 'prepared') {
avPlayer.play(); // 自動播放
}
});
}
```

### 4.效果展示

![img](https://i-blog.csdnimg.cn/img_convert/7e139091863136676343350ef5ca5dcb.gif)


審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 音頻錄制
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    6824
  • Harmony
    +關(guān)注

    關(guān)注

    0

    文章

    108

    瀏覽量

    3546
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    ES7243E+ES8311音頻錄制播放電路資料

    本電路為一款低成本音頻錄制播放參考電路,含sch原理圖和pcb板圖。ES7243E接2路模擬麥克風(fēng)實現(xiàn)音頻采集,ES8311接1路功放實現(xiàn)音頻
    發(fā)表于 02-04 17:18 ?1次下載

    藍(lán)牙音頻播放問題

    有償?。?!STM32F407驅(qū)動WM8978播放藍(lán)牙SBC音頻數(shù)據(jù)有滋滋聲和電音。
    發(fā)表于 01-05 21:32

    【EASY EAI Nano-TB(RV1126B)開發(fā)板試用】+音頻輸入輸出測試

    。 最簡單的做法就是利用音頻錄制功能制備一個,其方法見圖6所示。 圖6 音頻錄制 這樣就可以進行播放測試了,見圖7所示。 圖7
    發(fā)表于 12-25 18:34

    ESP32藍(lán)牙驅(qū)動MAX98357對音頻音樂播放

    本文介紹了MAX98357音頻模塊的基本特性,并利用ESP32的藍(lán)牙功能程序驅(qū)動此模塊,最后用手機藍(lán)牙連接ESP32播放手機音樂
    的頭像 發(fā)表于 12-19 19:55 ?2509次閱讀
    ESP32藍(lán)牙驅(qū)動MAX98357對<b class='flag-5'>音頻</b>音樂<b class='flag-5'>播放</b>

    速通音頻處理:掌握TTS播放、文件播放與錄音核心,實現(xiàn)完整功能

    播放TTS、播放音頻文件及錄音是構(gòu)建完整音頻處理功能的三大核心模塊。若想快速掌握并實現(xiàn)完整音頻處理能力,無需深挖底層細(xì)節(jié),只需聚焦“資源加載
    的頭像 發(fā)表于 11-21 19:27 ?250次閱讀
    速通<b class='flag-5'>音頻</b>處理:掌握TTS<b class='flag-5'>播放</b>、文件<b class='flag-5'>播放</b>與錄音核心,實現(xiàn)完整功能

    為什么UAC設(shè)備錄制播放時會定期產(chǎn)生噪音?

    為什么UAC設(shè)備錄制播放時會定期產(chǎn)生噪音?
    發(fā)表于 08-26 06:13

    請問為什么UAC設(shè)備錄制播放時會定期產(chǎn)生噪音?

    請問為什么UAC設(shè)備錄制播放時會定期產(chǎn)生噪音?
    發(fā)表于 08-21 06:09

    蜻蜓FM開源“SmartXPlayer”音頻播放組件,打造鴻蒙多端音頻播放新引擎

    近日,由蜻蜓FM研發(fā)的音頻播放組件“SmartXPlayer”正式開源并上線 OpenHarmony 三方庫中心倉。作為一款專為鴻蒙多端場景打造的音頻播放引擎,SmartXPlayer
    的頭像 發(fā)表于 07-21 16:31 ?611次閱讀
    蜻蜓FM開源“SmartXPlayer”<b class='flag-5'>音頻</b><b class='flag-5'>播放</b>組件,打造鴻蒙多端<b class='flag-5'>音頻</b><b class='flag-5'>播放</b>新引擎

    harmony OS NEXT-雙向數(shù)據(jù)綁定MVVM以及$$語法糖介紹

    # 鴻蒙Harmony-雙向數(shù)據(jù)綁定MVVM以及$$語法糖介紹 ## 1.1 雙向數(shù)據(jù)綁定概念 在鴻蒙(HarmonyOS)應(yīng)用開發(fā)中,雙向數(shù)據(jù)改變(或雙向數(shù)據(jù)綁定)是一種讓數(shù)據(jù)·模型和UI組件之間
    的頭像 發(fā)表于 04-29 16:52 ?1224次閱讀

    harmony OS NEXT-通過用戶首選項實現(xiàn)數(shù)據(jù)持久化

    # 鴻蒙通過用戶首選項實現(xiàn)數(shù)據(jù)持久化 ## 1.1 場景介紹 用戶首選項為應(yīng)用提供Key-Value鍵值型的數(shù)據(jù)處理能力,支持應(yīng)用持久化輕量級數(shù)據(jù),并對其修改和查詢。當(dāng)用戶希望有一個全局唯一存儲的地方,可以采用用戶首選項來進行存儲。Preferences會將該數(shù)據(jù)緩存在內(nèi)存中,當(dāng)用戶讀取的時候,能夠快速從內(nèi)存中獲取數(shù)據(jù),當(dāng)需要持久化時可以使用flush接口將內(nèi)存中的數(shù)據(jù)寫入持久化文件中。Preferences會隨著存放的數(shù)據(jù)量越多而導(dǎo)致應(yīng)用占用的內(nèi)存越大,因此
    的頭像 發(fā)表于 04-29 16:38 ?1163次閱讀

    harmony OS NEXT-Navagation基本用法

    # Navagation基本用法 > Navigation組件是路由導(dǎo)航的根視圖容器,一般作為Page頁面的根容器使用,其內(nèi)部默認(rèn)包含了標(biāo)題欄,內(nèi)容欄和公工具欄,其中內(nèi)容區(qū)默認(rèn)首頁顯示導(dǎo)航內(nèi)容(Navigation的子組件)或非首頁顯示(NavDestination的子組件),首頁和非首頁通過路由進行切換 * 使用Navigation跳轉(zhuǎn)的組件不需要再使用Entry來修飾,普通組件即可 * Navigation是一個導(dǎo)航組件,API9和API11的使用官方推薦方式各不相同 ## 1. Navagation API9的用法-(Navigation-NavRouter-(其他組件+NavD
    的頭像 發(fā)表于 04-27 17:39 ?915次閱讀

    harmony OS NEXT-評論功能小demo

    # 評論頁面小demo ## 效果展示 ![img](https://i-blog.csdnimg.cn/img_convert/f574e0b18325ee466938a3cb70530209.gif) ## 1.拆解組件,分層搭建 我們將整個評論頁面拆解為三個組件,分別是頭部導(dǎo)航,評論項,回復(fù)三個部分,然后統(tǒng)一在index界面導(dǎo)入 ![image-20250304150652225](https://i-blog.csdnimg.cn/img_convert/2e234f0fe986014368d8d7f138577e6a.png) ## 2.頭部導(dǎo)航界面搭建 ![image-20250304151026576](https://i-blog.csdnimg.cn/img_convert/c876aa04a505a3c3203c03984a2e1504.png) ```ts @Preview @Component struct HmNavBar { ?// 屬性:是可以被傳
    的頭像 發(fā)表于 04-27 17:38 ?572次閱讀

    新品 | Module Audio,ES8388音頻交互模塊

    與耳機播放),可滿足各類麥克風(fēng)錄音與立體聲音頻播放需求。模塊搭載STM32G030F6P6微控制器,支持TRRS插孔耳機機插拔檢測及WS2812CRGB燈效驅(qū)動。
    的頭像 發(fā)表于 04-25 14:16 ?1480次閱讀
    新品 | Module Audio,ES8388<b class='flag-5'>音頻</b>交互<b class='flag-5'>模塊</b>

    藍(lán)牙音頻模組中模擬音頻和數(shù)字音頻如何選擇?

    藍(lán)牙模塊中我們常說的模擬音頻和數(shù)字音頻,是指兩種不同的信號處理技術(shù),它們都可以實現(xiàn)聲音的錄制、存儲、編輯、壓縮或播放,但也有一些區(qū)別和特點。
    的頭像 發(fā)表于 04-17 15:55 ?1151次閱讀
    藍(lán)牙<b class='flag-5'>音頻</b>模組中模擬<b class='flag-5'>音頻</b>和數(shù)字<b class='flag-5'>音頻</b>如何選擇?

    harmony OS NEXT-基本介紹及DevcoStudiop基本使用

    #鴻蒙基本介紹及DevcoStudiop基本使用 1.認(rèn)識DevcoStudiop工作區(qū) 1.1認(rèn)識工作區(qū) 開發(fā)節(jié)奏: 通過左側(cè)目錄找到對應(yīng)的應(yīng)用文件,在編輯區(qū)進行代碼編寫,在右側(cè)看預(yù)覽效果 快捷鍵:連按兩下shift快速尋找全局內(nèi)容,如文件 1.2如何排錯 寫代碼時,我們經(jīng)常會遇到這種情況,右側(cè)出現(xiàn)不能開啟預(yù)覽器的提示,我們需要打開預(yù)覽器日志查看報錯 第一種方法 第二種方法 第三種方法:通過統(tǒng)一構(gòu)建,暴露哪些文件及代碼無法編譯通過 1.3如何刷新看效果 預(yù)覽器是有熱
    的頭像 發(fā)表于 03-26 16:48 ?690次閱讀
    <b class='flag-5'>harmony</b> <b class='flag-5'>OS</b> <b class='flag-5'>NEXT-</b>基本介紹及DevcoStudiop基本使用