1、首先右鍵點擊右下角小喇叭圖標-錄音設備,進入聲音設置菜單, 2、右鍵點擊“Internal Mic(內(nèi)置麥克風)”選項,點擊“設置為默認通信設備”, 3、選好后,點擊“通信”選項,把“當WINDOWS檢測到通信活動時”設置為“不執(zhí)行任何操作”,然后應用確定即可。 如果進行上述設置后機器的問題依舊,可以嘗試使用其他的聊天軟件或錄音軟件看看機器是否可以正常使用內(nèi)置麥克風: 如果其它的軟件可以正常使用,那么應該是所使用的聊天軟件方面的問題導致的了,可以更換這個聊天軟件的版本重新安裝看看是否可以解決這個問題;
網(wǎng)站建設哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、小程序開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了羅田免費建站歡迎大家使用!
近期項目中有個需求就是要實現(xiàn)類似微信或者支付寶的收款時的語音播報功能,于是筆者就開始了漫長的踩坑之路。
剛開始討論實現(xiàn)方案時,安卓的小伙伴說可以使用WebSocket + 訊飛語音在線合成實現(xiàn)。于是最初的幾天筆者自己也一直在這條路上走了很久,基本功能都已經(jīng)實現(xiàn)了,項目在前臺的時候,基本沒問題。但是項目一進入后臺大概半分鐘的時間,就無法播報了。原因是iOS項目如果不做任何處理的話,在進入后臺大概30s之后,程序就會進入類似休眠的狀態(tài),然后就不會再進行任何操作了
跟安卓的同事討論之后,發(fā)現(xiàn)安卓有方法可以讓程序一直在后臺處于活躍狀態(tài),于是筆者也開始找尋保持項目后臺運行的方法,大概有兩種
在這里我們并沒有發(fā)現(xiàn),程序在后臺收到推送時,作相應處理的方法,哪到底能不能收到推送后就進行處理呢?
iOS 10 之后 iOS推出了Notification Service Extension,我們可以在收到推送之后,通過這個Extension 我們可以有三十秒的時間來對這個推送進行處理
完成之后長這樣
然后我們配置一下NotificationService
然后我們看下NotificationService.swift文件
在完成上述操作之后,再次收到推送的話,就會走NotificationService的邏輯了,可以打斷點或者Log測試一下
需要注意的是 在推送的內(nèi)容中 必須配置mutable-content字段,結構大致如下
做完上邊的操作之后,我們可以知道什么時候去播報語音了,但是語音又要怎么去播報呢?
筆者這邊也是試過幾個方案,下邊一一說來
筆者剛開始使用訊飛發(fā)現(xiàn)不行,然后又測試了系統(tǒng)自帶的AVSpeech,發(fā)現(xiàn)也不好用,查資料才知道,蘋果在近期的版本中,停用的在NotificationService中播放語音的功能,之前的某個版本應該可以這么操作。好吧,此方案Pass
既然不讓我播,那我存起來總可以了吧,測試發(fā)現(xiàn)訊飛在線生成是可以的,也可以存到本地,但。。。是,UNMutableNotificationContent的sound好像只支持提前添加到項目中的文件,并不支持立即生成之后存到本地,然后再設置的功能。。。
筆者在項目中預先生成的文件如下(語音包通過百度語音開放平臺在線生成 百度語音在下生成(拉到中間就有了) )
比如說我要播放“支付寶到賬100元”,我就會發(fā)放多個通知,依次播放wx-pre,1,bai,yuan這幾個語音,連貫起來就能達到要求
筆者能力有限,暫時想到的方法就是這個,有好的方法可以多多分享,溝通
下載和安裝,現(xiàn)在我們使用的最新版本是ibm viavoice9.1簡體中文版,很多網(wǎng)站都有下載,大家可以用百度搜索,下載來的文件格式一般為iso鏡像,所以要用虛擬光驅(qū)安裝。軟件的安裝沒有什么特別之處,一路下一步就行了,當然也可以在安裝向?qū)Ю镄薷陌惭b信息,要注意的是一定要關閉殺毒軟件,由于軟件在安裝過程中需要重起電腦,重起后還要繼續(xù)安裝,所以最好將殺毒軟件的自動運行也暫時關閉。語音訓練:這是使用viavoice最關鍵的一步,對于盲人來說也是難度最大的環(huán)節(jié),如果順利過了這一關,我們的工作也就完成了七八成了,剩下的軟件操作其實并不復雜。程序安裝完成后,程序自動開始運行,首先會出現(xiàn)一段語音提示,緊接著探出用戶向?qū)?。要求輸入用戶名和選擇音頻設備,采用默認即可,如果有兩塊聲卡就要選擇其中之一。點下一步,探出音頻設置向?qū)?,點擊測試按鈕,出現(xiàn)一段回放音樂,系統(tǒng)音量測試成功,下一步進入麥克風設置。選擇頭戴式麥克風,下一步,在音頻輸出設備的列表里仍然要選擇頭戴式麥克風。下一步,要求連接好麥克風,不用管它,繼續(xù)下一步。開始測試麥克風,點測試即開始測試環(huán)境噪音,完成后在點下一步。這一部系統(tǒng)詢問你是否有信號適配器,一定要選是,繼續(xù)下一步。這時系統(tǒng)要調(diào)整麥克風音量。在測試過程中環(huán)境要保持安靜,關閉音箱,帶好耳麥,讓讀屏的聲音從耳麥里發(fā)出,并且要將讀屏的語速調(diào)到最慢,因為下面要跟隨讀屏朗讀系統(tǒng)給出的語句。點擊開始,讀出系統(tǒng)給出的語句即可,這段文字可以用四六件切換來找到,其內(nèi)容如下:"這里有一小段文章,您必須用正常、輕松的語調(diào)將其讀出。請在段落與語句之間自然停頓。計算機將利用這一過程調(diào)整其音量。當這一過程完成以后,您會聽到一小段結束提示音,系統(tǒng)將顯示聲音的品質(zhì)。在聽到這一小段提示音之前,您必須不斷地重復這段文章。"這時可以用小鍵盤的加減號及點號[暫停]來控制跟讀的速度及停頓。待出現(xiàn)聲音提示在點下一步。現(xiàn)在就要開始創(chuàng)建個人語音模型了。這一步至關重要,會直接影響將來語音識別的效果。在點下一步語音模型的創(chuàng)建就真正開始了。系統(tǒng)要求你讀出下面的文字,四六鍵切換到六可編輯文字處,tab鍵切換到開始按鈕,點擊及開始,用加減號配合點號跟隨讀屏朗讀。如果系統(tǒng)跟不上你的朗讀速度,便發(fā)出聲音提示,此時就點擊暫停,在點繼續(xù)重復朗讀。讀完后系統(tǒng)提示正在處理請稍候。系統(tǒng)會進行語音訓練,訓練完畢后,最簡單的語音模型就建立完畢了,當然可以想像得到,這樣輕松建立起來的模型效果并不是很好。稍等片刻在點下一步。這一部是分析你的語音,以便讓系統(tǒng)了解你的說話方式。選擇開始錄音單選按鈕,繼續(xù)下一步。在列表里選擇一篇文章,四六鍵切換到十二可編輯文字處,tab鍵切換到開始按鈕,點擊開始,還是用加減號配合點號跟讀,如果我們的說話沒有被系統(tǒng)識別出來,屏幕上的文字就不會往下滾動,并發(fā)出聲音提示。這時可以按加減號重復朗讀,直到出現(xiàn)新的文字,才可以繼續(xù)往下朗讀。為了提高識別率,建議將列表中的四篇文章全部讀完。讀完文章以后點下一步。系統(tǒng)提示正在處理請稍候,等幾分鐘后點完成。到此,個人用戶(語音模型)建立完畢,我們可以正式開始使用語音輸入了。語音輸入:語音訓練及語音模型的建立雖然比較繁瑣,但是軟件的使用卻非常簡單。其功能只有聲控命令和語音聽寫。在程序組中啟動ibm viavoice語音中心,程序運行后在通知區(qū)域工具欄里出現(xiàn)viavoice的圖標。我們首先要設置麥克風開關狀態(tài)的熱鍵,在停止語音輸入時要立刻官麥,否則會出現(xiàn)大量的亂碼、或發(fā)出錯誤命令導致不必要的麻煩。右鍵單擊通知區(qū)域里的viavoice圖標,在探出菜單里選用戶選項,右光標,點viavoice選項。在探出的對話框中選啟動選項卡,選中麥克風狀態(tài)和發(fā)現(xiàn)問題時啟動識別向?qū)С绦驈瓦x礦,要不老有識別向?qū)鰜頁v亂。在21熱鍵域無處加入快捷鍵。如果創(chuàng)建了幾個用戶,就要在用戶選項卡里選擇你自己創(chuàng)建的用戶,否則識別效果會很差。其它選項涉及到高級設置,采用默認設置即可,帶操作熟練后可在作改動。點確定關閉對話框。此時按下剛才設置的快捷鍵打開麥克風,[當然在菜單里也有這個命令],就進入了語音輸入狀態(tài)了。第一次使用會有語音提示。此時你就可以向計算機下達任何語音命令,讓它為你做你想做的任何事情。想要了解當前有什么命令可用,只要說出當前命令及,就會調(diào)出當前可用命令。要了解當前幫助,就說學習內(nèi)容,就會調(diào)出當前幫助。要想啟動某個程序就說出啟動某程序,例如想要啟動大智慧,就說啟動大智慧,大智慧就隨即啟動了。又如在ie里面,只要說出某個鏈接的名稱即可進入該頁面,說出任何菜單和按鈕名稱即可執(zhí)行相應的命令,你說出收藏夾,收藏夾就立刻打開了,在說出收藏夾中網(wǎng)站的名稱,就會打開該網(wǎng)站。viavoice支持幾乎所有的已安裝的或?qū)⒁惭b的應用程序的聲控操作和直接聽寫。只要應用程序有文本編輯框就可以進行語音聽寫,但要先說直接聽寫,進入文字聽寫模式,結束聽寫后要說停止直接聽寫,回到命令輸入模式。如在qq的聊天界面上,激活文本輸入框,說出要輸入的內(nèi)容,即可在編輯框中自動寫出相應的文字。不過初期使用識別的準確率不可能達到很高,需要進行一些手工修改,但是它有自學習功能,隨著使用的增多,識別的準確率會越來越高。在進行聽寫時,請您使用連續(xù)語音,并注意同時口述標點符號和編排命令,比如句號,逗號和另起一段。盡量使用正常的節(jié)奏講話,不要太快,也不要太慢。盡量不要吞音或者滑音,也不要故意拉長或者略讀某些詞語。盡量不要連讀,也沒有必要故意對某些音進行重讀。開始時您會可能會講話比較快。請耐心一點,放慢速度。過了一段時間之后,您就會發(fā)現(xiàn)完全可以在不損失準確率的情況下提高講話速率。不要對著麥克風大聲講話,請使用盡量平和的語音。正確佩戴麥克風對語音識別率非常重要。請確認麥克風接收頭(在海綿套的里面)離您的嘴角大約一個拇指的距離,并檢查麥克風上的白點正對著您的嘴部。不要將海綿套拿走,它可以起過濾作用。 不要將麥克風正對您的嘴部,以防受呼吸影響。每次使用麥克風時請不要變動麥克風的位置,例如麥克風的距離時遠時近。如果進行大量文字錄入,建議使用系統(tǒng)自帶的字處理程序[語音板]。說出聽寫到語音板,語音板隨即啟動。這是一個類似寫字板的編輯工具,語音板擁有寫字板的所有功能而且增加了聽寫能力。語音聽寫與其他應用程序中的直接聽寫的注意事項基本一致,要想執(zhí)行語音命令,在聽寫過程中稍作停頓,說出菜單命令即可。值得注意的是糾錯窗口的使用。 在聽寫的過程中,ViaVoice可能會發(fā)生誤識。您可以用糾錯窗口對誤識詞進行糾錯,以便ViaVoice以后提高識別率;或者讓ViaVoice分析您已有的文檔,以便讓ViaVoice熟悉您的措辭和行文方式。在口述一段文字以后,查找誤識的詞。如果要對某個詞或短語進行糾錯,先選中該詞,然后說出糾錯就會探出糾錯窗口。如果正確的詞已經(jīng)位于候選詞列表中,念出該詞的序號。這一動作將糾正所選的詞或短語。如果正確的詞不在候選詞列表中,你可以單擊糾錯窗口的文本編輯框,輸入正確的詞/短語。念糾錯或者按回車進行確定。z在聽寫完一篇文章以后,建議用文檔分析程序?qū)倢懙奈恼逻M行分析,從而修正語言模型,提高識別率。
又拍云的 iOS 短視頻 SDK 用下來效果還不錯的。 這個短視頻 SDK 包含短視頻拍攝、編輯、合成部分,包含斷點錄制、分段回刪、美顏、濾鏡、貼紙、視頻剪輯、視頻壓縮、本地轉碼在內(nèi)的 30 多種功能。 支持自定義界面和二次開發(fā)。
我們常常會在使用app的時候,邊聽音樂(網(wǎng)易云音樂,qq音樂等)邊使用軟件,如果我們在app中使用了聲音,例如“?!钡囊宦?提醒,就會導致音樂的停止播放。而像微信中的語音播放,會在播放完成后音樂恢復播放,這樣的體驗就很好,那么需要怎么做呢?其實很簡單,只需要一句話就可以。
當你的app中的聲音播放完畢后,加上這一句話,被打斷的音樂便會恢復播放了。
當然還可以設置讓app的聲音和其他音樂兼容(默認是不兼容的)
withOptions后面的屬性是一個枚舉,不同的類型會有不同的效果,自己試試吧!
兩種處理方式
1、將獲取到的音頻文件通過base64加密直接通過xmpp的消息體發(fā)送過去,然后解碼;
2、通過http請求的方式將音頻文件上傳到服務器,然后將音頻文件的下載地址通過xmpp消息體發(fā)送過去,另外一個客戶端下載。
音頻文件建議轉碼為amr,這種格式的音頻文件比較小。