国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

# HarmonyOS 音頻錄制與播放模塊

## 1.模塊功能概覽

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

## 2.權限檢測流程

### 1.代碼實現

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

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

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

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

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

### 2.2. 權限狀態處理

| 狀態 | 處理方式 |
| -------------------- | -------------------- |
| 第一次授權成功 | 直接啟用錄音功能 |
| 第一次授權失敗 | 彈窗提示前往系統設置 |
| 系統設置二次授權失敗 | 返回上級頁面 |

## 3. 錄音功能核心實現

#### 1.錄音機配置

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

// AVRecorder 參數配置
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() | 創建文件句柄/配置參數/啟動錄音 |
| stopRecord() | 停止錄音/釋放資源/關閉文件 |

### 3.音頻播放實現

```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)


審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 音頻錄制
    +關注

    關注

    0

    文章

    3

    瀏覽量

    6828
  • Harmony
    +關注

    關注

    0

    文章

    108

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    藍牙音頻播放問題

    有償!!!STM32F407驅動WM8978播放藍牙SBC音頻數據有滋滋聲和電音。
    發表于 01-05 21:32

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

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

    ESP32藍牙驅動MAX98357對音頻音樂播放

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

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

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

    為什么UAC設備錄制播放時會定期產生噪音?

    為什么UAC設備錄制播放時會定期產生噪音?
    發表于 08-26 06:13

    請問為什么UAC設備錄制播放時會定期產生噪音?

    請問為什么UAC設備錄制播放時會定期產生噪音?
    發表于 08-21 06:09

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

    近日,由蜻蜓FM研發的音頻播放組件“SmartXPlayer”正式開源并上線 OpenHarmony 三方庫中心倉。作為一款專為鴻蒙多端場景打造的音頻播放引擎,SmartXPlayer
    的頭像 發表于 07-21 16:31 ?653次閱讀
    蜻蜓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-雙向數據綁定MVVM以及$$語法糖介紹

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

    harmony OS NEXT-通過用戶首選項實現數據持久化

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

    harmony OS NEXT-Navagation基本用法

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

    harmony OS NEXT-評論功能小demo

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

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

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

    藍牙音頻模組中模擬音頻和數字音頻如何選擇?

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

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

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