Qt + SDL實現的實時錄音並播放的程式,類似KTV唱歌
熟話說:沒有什麼比研究原始碼本身更好的了。
所以這裡不囉說了,直接上程式碼了。
【說明】
採集音訊用的是QAudioInput
播放音訊用SDL,
不用QAudioOutput是因為QAudioOutput播放聲音必須是IO
他需要先開啟,然後才能播放,開啟的過程需要時間,所以不流暢。
【bug】
播放的時候依然會有一些雜音,暫時無法解決了,以後再解決。
【2017-06-09更新】
這裡需要糾正一個事,上面提到QAudioOutput只能播放檔案,事實上並非如此,當初Qt用的不熟,以為QIodevice就是檔案,可以自己寫個類繼承QIodevice然後過載readData函式,在這個函式裡面提供音訊資料,這樣就可以用Qt來播放音訊資料流了,具體參考Qt官方例子裡面的audiooutput。
這樣就可以解決雜音問題了。
相關推薦
Qt + SDL實現的實時錄音並播放的程式,類似KTV唱歌
熟話說:沒有什麼比研究原始碼本身更好的了。 所以這裡不囉說了,直接上程式碼了。 【說明】 採集音訊用的是QAudioInput 播放音訊用SDL, 不用QAudioOutput是因為QAudioOutput播放聲音必須是IO他需要先開啟,然後才能播放,開啟的過程需要時間
inotify+rsync實現實時同步並郵件通知
代碼 moni 創建目錄 存在 echo ets selinux 5.0 from 服務器之間文件實時同步,監控文件的變化,發送郵件通知,並實時同步文件。 由於人工同步多臺服務器的文件比較吃力,可以借助這樣一套軟件,自動化的實現這樣的工作。 並且可以事實監控變化發送郵件
QT+Opencv實現簡單的視訊播放及抓拍
原理很簡單,採用opencv庫cvQueryFrame函式獲取一幀,然後將該幀影象在QLabel顯示出來。為實現連續播放,採用定時器。 #ifndef CAMERA_H #define CAMERA_H #include <QtWidgets/QWidget&g
Android 使用AudioRecorder和MediaRecorder錄音並播放。
我們知道,安卓系統可以AudioRecorder和MediaRecorder錄音,兩者的區別是: AudioRecorder錄製的是pcm資料(也稱音訊裸資料),可以方便的對音訊資料進行處理(比如特
Android實現邊錄音邊播放
// 錄音執行緒 class recordSound implements Runnable { @Override public void run() { Log.d(TAG, "........
Unity調取移動端的麥克風進行錄音並播放
1.對MicroPhone類的理解 對麥克風的呼叫在Unity裡主要是用到了MicroPhone這個類,此類裡面有幾個方法可以方便我們實現功能2.程式碼演示#region 模組資訊 // *******************************************
iOS 實時錄音和播放
需求:最近公司需要做一個樓宇對講的功能:門口機(連線WIFI)撥號對室內機(對應的WIFI)的裝置進行呼叫,室內機收到呼叫之後將對收到的資料進行UDP廣播的轉發,手機(連線對應的WIFI)收到視訊流之後,實時的展示視訊資料(手機可以接聽,結束通話,手機接聽之後,室內機不展
GDI+實現的圖片相互轉換程式,可以通過命令列引數來呼叫
#include <gdiplus.h> #include <stdio.h> using namespace Gdiplus; #include "stdafx.h" #pragma comment(lib, "gdiplus.lib") //探測PNG編碼器的
c#實現開啟資料庫並進行查詢,修改等操作
c#連線資料庫需要引用一些東西,首先我們引用:using System.Data.OleDb。 其次我們需要拖動一些控制元件,包括button,combobox,datagridview等。。。這裡就不一一說明了。效果圖如下 1.能不能自己選擇開啟某個資料庫呢?而不是在程式碼裡面就已經
Qt中實現滑鼠一段時間不用,自動隱藏
Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); this->setMouseTracking(true);
Android app實現靜默安裝並自動開啟,實現開機自啟動,異常崩潰重新啟動,定時關機等
現在很多公司都開始做智慧硬體產品,主要是在Android開發板上面開發應用app,尤其這兩年物聯網越來越火,這方面的需求越來越多,目前公司也是做智慧公交站臺的,需要開發的app實現開機自啟動,異常崩潰重新啟動,版本升級靜默安裝並自動開啟,定時開關機,感覺都要跟Android系
python實現簡單的抽獎小程式,抽獎的內容從檔案裡面讀取
開啟檔案,讀取檔案的內容,隨機抽出一個然後刪掉已經抽出來的號碼 import randomfrom random import choicef = open('allnum.txt')data = f.read()a = datab = a.strip('\n').split('\n')pr
嵌入式QT APP實現按下電源按鍵休眠,再按一下電源按鍵即喚醒的功能---實現產品低功耗
1、修改裝置樹 button1 { label ="return"; linux,code=<KEY_1>; gpios=<&am
ios之audio unit的錄音和播放一起,解決audioqueue播放PCM延遲問題
因為用audioqueue的錄音播放,或者用audioqueue錄音,openal播放都有延遲。 然後用底層些的audio unit,果然延遲問題就好很多了,至少一邊錄一邊播的問題可以很好的解決。。有不少audio unit的三方庫,暫時沒去細研究,查了點
Delphi 實現解除安裝Windows應用程式(類似360軟體管家-解除安裝程式)
摘要: 本文主要梳理的是實現解除安裝程式並等待解除安裝程式執行結束的方法,如果僅僅是呼叫解除安裝程式,相信難度也不大,但是我們需要等待解除安裝程式執行完畢,這就有些費腦筋了(是不是想到了360?沒錯,360也具有這個功能)。這套邏輯是最近專案需要自己研究出來的,可能存在不完
基於Qt Creator實現中國象棋人機對戰, c++實現
這是自己大一學完c++後,在課程實踐中寫過的一個程式,實現象棋人機對戰的演算法還是有點難的, 自己當時差不多也是寫了兩個月左右吧!當時看書又有很多問題得不到解決,所以就在網上找了一個視訊跟著
微信小程式,類似微信點選語音播放效果,不會互相干擾播放狀態
類似平常微信語音聊天的效果…. 根據開發的需求,先理清一下思路,點選語音播放與暫停/停止,切換下一個語音等; 小程式對於audio的元件的一些api方法已經不支援了,詳情可以參看:微信小程式audio元件文件 嗯嗯,這下子,該怎麼辦呢? 就如上面
日誌資訊實時顯示到窗體中,類似Console一樣的輸出臺。
C#用RichTextBox元件實現類似Console一樣的輸出臺。 做一個示例 開啟VS,建立一個新的Windows窗體應用,不修改任何名稱 在Form1窗體內新增一個RichTextBox元件 如圖 複製以下程式碼至Form1.cs using System; using Syst
Android實現背景透明度漸變的效果,類似於分享底部的彈出框
實現背景透明度漸變的效果,類似於分享底部的彈出框 這是公司最近寫的一個專案,其中的一個自定義分享模組,剛開始實現的效果比較簡單,背景透明度沒有漸變,而是隨著底部分享的彈出框而一起彈出,看起來比較生硬,使用者體驗不是很好,現在要實現的效果就是類似於SharedS
Qt實現截屏並保存(轉載)
提示信息 讓我 介紹 etime widget core 親測 log ring 原博地址:http://blog.csdn.net/qinchunwuhui/article/details/52869451?_t_t_t=0.28889142944202306 目前對應用