日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

# HarmonyOS 音頻錄制與播放模塊

## 1.模塊功能概覽

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

## 2.權限檢測流程

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

```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) {
// 跳轉系統(tǒng)設置
const finalResult = await manager.requestPermissionOnSetting(
getContext(), ["ohos.permission.MICROPHONE"]
);
}
}
}
```

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

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

## 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() | 停止錄音/釋放資源/關閉文件 |

### 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)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 音頻錄制
    +關注

    關注

    0

    文章

    3

    瀏覽量

    6834
  • Harmony
    +關注

    關注

    0

    文章

    108

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    在 FreeRTOS 下的 RT595 上使用 DMIC DMA 進行音頻錄制時遇到的問題求解決

    我正在做在 FreeRTOS 下的 RT595 上使用 DMIC DMA 進行音頻錄制,但我遇到了一個問題: 當我讀到時fifo_data,只有第一個值可以是非零。以下所有值始終為 0。 同樣,在
    發(fā)表于 04-16 06:42

    Linux音頻開發(fā)必藏!這個官網(wǎng)藏著從驅動到應用的全套解決方案

    ,ALSA 早已滲透進我們熟悉的場景 ——Ubuntu 的音樂播放、嵌入式設備的語音交互、專業(yè)音頻工作站的多軌錄制,背后都有它的支撐。
    的頭像 發(fā)表于 02-06 16:56 ?3263次閱讀
    Linux<b class='flag-5'>音頻</b>開發(fā)必藏!這個官網(wǎng)藏著從驅動到應用的全套解決方案

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

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

    藍牙音頻播放問題

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

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

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

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

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

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

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

    新手速成:掌握TTS/文件播放/錄音核心,構建完整音頻處理功能

    剛接觸音頻開發(fā)時,TTS播放、文件播放與錄音功能看似復雜,實則是實現(xiàn)完整音頻處理的基礎。本文從新手視角出發(fā),拆解這三大功能的核心邏輯——資源管理、
    的頭像 發(fā)表于 11-21 19:26 ?461次閱讀
    新手速成:掌握TTS/文件<b class='flag-5'>播放</b>/錄音核心,構建完整<b class='flag-5'>音頻</b>處理功能

    如何使用SDK進行自定義音頻播放功能

    在上一篇文章安信可離線語音模組 VC-01、VC-02 系列教程 【二次開發(fā)篇】自定義音頻替換失敗過程中,簡要概述了res_build_tool.py 文件, 其主要的作用就是將音頻文件進行轉換,從而使編譯固件的時候能夠將音頻
    的頭像 發(fā)表于 09-25 15:52 ?4555次閱讀
    如何使用SDK進行自定義<b class='flag-5'>音頻</b><b class='flag-5'>播放</b>功能

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

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

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

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

    【HZ-RK3568開發(fā)板免費體驗】2、利用開發(fā)板上音頻外設播放音頻

    HZ-RK3576有用于音頻播放的Jack Audio接口。連接外部音箱或者耳機即可進行音頻播放功能。ALSA(Advanced Linux Sound Architecture)屬
    發(fā)表于 07-22 10:35

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

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

    【嘉楠堪智K230開發(fā)板試用體驗】+ 視頻錄制測試

    本次視頻錄制測試,使用板載的攝像頭進行視頻錄制,使用板載的按鍵進行視頻錄制的開始和停止。 from media.mp4format import * import os import
    發(fā)表于 07-06 15:21

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

    UnitAudioPlayer是一款自帶MP3解碼功能的音頻播放單元,內(nèi)置高性能音頻解碼芯片N9301,自帶microSD卡座。該產(chǎn)品采用UART通信接口,用戶可通過配置指令實現(xiàn)音頻
    的頭像 發(fā)表于 06-20 15:59 ?1106次閱讀
    新品|Unit AudioPlayer,支持 MP3/WAV <b class='flag-5'>播放</b>的<b class='flag-5'>音頻</b><b class='flag-5'>播放</b>單元
    桐乡市| 福泉市| 华容县| 贵溪市| 铜山县| 恩平市| 盘锦市| 独山县| 晋城| 昌乐县| 吉安县| 郑州市| 武城县| 疏勒县| 建水县| 廉江市| 乳山市| 历史| 永胜县| 临泉县| 马龙县| 聊城市| 库尔勒市| 湾仔区| 仪征市| 宜川县| 莱州市| 灵武市| 宜兴市| 深圳市| 江都市| 柳江县| 德惠市| 万山特区| 河东区| 紫阳县| 桂平市| 饶河县| 达尔| 兴仁县| 嘉定区|