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

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

# HarmonyOS 音頻錄制與播放模塊

## 1.模塊功能概覽

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

## 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. 權限狀態(tài)處理

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

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

#### 1.錄音機配置

```ts
// 創(chuàng)建文件描述符
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() | 創(chuàng)建文件句柄/配置參數/啟動錄音 |
| 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)


審核編輯 黃宇

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

    關注

    0

    文章

    2

    瀏覽量

    6812
  • Harmony
    +關注

    關注

    0

    文章

    108

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

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

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

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

    新品|Unit AudioPlayer,支持 MP3/WAV 播放音頻播放單元

    UnitAudioPlayer是一款自帶MP3解碼功能的音頻播放單元,內置高性能音頻解碼芯片N9301,自帶microSD卡座。該產品采用UART通信接口,用戶可通過配置指令實現音頻
    的頭像 發(fā)表于 06-20 15:59 ?591次閱讀
    新品|Unit AudioPlayer,支持 MP3/WAV <b class='flag-5'>播放</b>的<b class='flag-5'>音頻</b><b class='flag-5'>播放</b>單元

    harmony OS NEXT-雙向數據綁定MVVM以及$$語法糖介紹

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

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

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

    harmony OS NEXT-Navagation基本用法

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

    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 { ?// 屬性:是可以被傳
    的頭像 發(fā)表于 04-27 17:38 ?349次閱讀

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

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

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

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

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

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

    如何在音頻播放時插播音頻

    ZDP14x0系列芯片是內置開源GUI引擎的圖像顯示專用驅動芯片,內部集成16MB/64MB顯示內存、2D圖形加速器、音視頻解碼器等豐富多媒體功能。不僅支持音視頻播放,還支持在音視頻播放時插播音頻,本文將介紹如何在
    的頭像 發(fā)表于 11-25 15:40 ?1594次閱讀
    如何在<b class='flag-5'>音頻</b><b class='flag-5'>播放</b>時插播<b class='flag-5'>音頻</b>

    《DNK210使用指南 -CanMV版 V1.0》第三十一章 視頻播放實驗

    ;)video模塊為Video對象提供了volume()方法,用于配置播放音頻時的音量,volume()方法如下所示:video.volume(volume)volume()方法用于配置播放音頻
    發(fā)表于 10-31 14:20

    《DNK210使用指南 -CanMV版 V1.0》第二十九章 音頻錄制實驗

    第二十九章 音頻錄制實驗 本章將介紹CanMV下的音頻錄制通過CanMV提供的模塊便能快速地實現音頻
    發(fā)表于 10-26 14:16

    《DNK210使用指南 -CanMV版 V1.0》第二十八章 音頻播放實驗

    設備,但對于音頻文件的編解碼以及數據流的處理,需要使用到CanMV提供的audio模塊。audio模塊是CanMV內置的模塊,audio模塊
    發(fā)表于 10-24 09:58