1. 程式人生 > >解決本地wav或者其他格式音訊不能播放的問題

解決本地wav或者其他格式音訊不能播放的問題

我這裡建立一個model   操作正確或者錯誤  直接呼叫方法(注:官方demo 模擬器是可以播放聲音,真機是不行的哦)

官方demo: (此法  真機不能播放聲音)

- (void)getErrorSound{

    NSURL *tapSound   = [[NSBundle mainBundle] URLForResource: @"scan_error"
                                                withExtension: @"wav"];
    self.soundFileURLRef = (__bridge CFURLRef )tapSound;
    AudioServicesCreateSystemSoundID (
                                      soundFileURLRef,
                                      &soundFileObject
                                      );
    AudioServicesPlaySystemSound (soundFileObject);
}
- (void)getRightSound{
    
    NSURL *tapSound   = [[NSBundle mainBundle] URLForResource: @"beep"
                                                withExtension: @"wav"];
    self.soundFileURLRef = (__bridge CFURLRef )tapSound;
    AudioServicesCreateSystemSoundID (
                                      soundFileURLRef,
                                      &soundFileObject
                                      );
    AudioServicesPlaySystemSound (soundFileObject);
    
}


手機能播放聲音完整demo寫法   

程式碼如下  .h

#import <Foundation/Foundation.h>
#include <AudioToolbox/AudioToolbox.h>

@interface SoundModel : NSObject

@property (readwrite)   CFURLRef        soundFileURLRef;
@property (readonly)    SystemSoundID   soundFileObject;
- (void)getRightSound;
- (void)getErrorSound;
@end

.m
#import "SoundModel.h"

@implementation SoundModel

@synthesize soundFileURLRef;
@synthesize soundFileObject;

- (void)getErrorSound{

//    NSURL *tapSound   = [[NSBundle mainBundle] URLForResource: @"scan_error"
//                                                withExtension: @"wav"];
    
    soundFileURLRef  =  CFBundleCopyResourceURL (
                                                       CFBundleGetMainBundle(),
                                                       CFSTR ("scan_error"),
                                                       CFSTR ("wav"),
                                                       NULL
                                                       );
    AudioServicesCreateSystemSoundID (
                                      soundFileURLRef,
                                      &soundFileObject
                                      );

    AudioServicesPlaySystemSound (soundFileObject);
}
- (void)getRightSound{
    
    soundFileURLRef  =  CFBundleCopyResourceURL (
                                                 CFBundleGetMainBundle(),
                                                 CFSTR ("beep"),
                                                 CFSTR ("wav"),
                                                 NULL
                                                 );
    AudioServicesCreateSystemSoundID (
                                      soundFileURLRef,
                                      &soundFileObject
                                      );
    
    AudioServicesPlaySystemSound (soundFileObject);
    
}


相關推薦

解決本地wav或者其他格式音訊不能播放的問題

我這裡建立一個model   操作正確或者錯誤  直接呼叫方法(注:官方demo 模擬器是可以播放聲音,真機是不行的哦) 官方demo: (此法  真機不能播放聲音) - (void)getErrorSound{ NSURL *tapSound = [[NSB

如何將.ipynb檔案轉化成.py檔案(或者其他格式

安裝好jupyter notebook之後,可以採用兩種方法進行檔案轉換。 法一: 在終端輸入:(其中xxx.ipynb是要轉換檔案的名字) jupyter nbconvert --to script xxx.ipynb 法二: step 1:啟動Jupyter

Mov格式音訊播放聲音與畫面不同步

我的case是這樣的 公司組織了一場hackthon,我組織了個小組在12個小奮戰下把公司的官方網站重新設計並且做出了Mockup 然後,boss要求用quicktime記錄,用英文描述,要讓美國的team看到介紹 終於費力路了一個兩分鐘的視訊,發到youku上想拿到個連結

用DAC解碼PCM資料播放WAV格式音訊檔案

WAV音訊用的是PCM協議,大致就是前面44位元組的一堆描述,用於辨別檔案型別、大小,後面一堆音訊資料。 關於WAV格式、RIFF格式、PCM協議這些的關係,在這篇文章描述得很詳細,這裡就不做介紹了。 RIFF和WAVE音訊檔案格式 先看程式碼: void readWave()

解決 本地計算機上的MySQL80服務啟動後停止,某些服務在未由其他服務或者程式使用時將自動停止

啟動MySQL80時突然發現了問題,服務無法啟動了: 解決方案: 1. 找到mysql的data資料夾,將data進行備份,一定要備份! (data資料夾路徑可以在mysql安裝目錄的my.ini檔案中搜索datadir找到) 2.將data資料夾刪除 3.用管

c++音訊播放wav格式

#include <stdio.h> #include <windows.h> #include <mmsystem.h> #include <stdio.h> #pragma comment(lib, "Winmm.lib") int WINAPI WinMa

byte[]陣列播放wav格式音訊檔案

很多時候我們需要從伺服器上傳輸檔案,如果我們把音訊檔案轉成byte[]進行網路傳輸,然後再在客戶端進行播放,我們可以將byte[]生成音訊臨時檔案進行播放。 package com.djcken.ut

Qt播放WAV格式音訊檔案的兩種方法

        這兩種方法都需要在.pro檔案中加入multimedia模組。 方法一、使用QAudioOutput #include <QApplication> #include &

解決panel或者其他控件疊加時,此控件背景透明,顯示的背景色為窗體背景色問題

背景 運行 panel控件 box bsp www. com his art 之前為了圖省事兒,直接給Form窗體設置的背景圖片,發現這樣運行的時候窗體特別的卡頓,於是改為放一個pictureBox控件,由這個控件加載圖片後作為背景。 現在卡頓解決了,又出現了另一個問題,運

用ADC編碼PCM資料錄製WAV格式音訊檔案

因為PCM檔案直接儲存取樣的量化值,所以按照規定格式,先編寫頭,再寫音訊資料就可以了。 這裡是錄製一個6s長度的WAV音訊檔案,PCM格式,單聲道,44.1kHz取樣頻率,88200的音訊位元速率,16bit的資料,算下來的資料大小是88200*6=529.200KB。 //(資料欄

移動端 .m3u8格式音訊播放

音訊流播放: 音訊不應該放audio標籤嗎?  因為audio沒 video 標籤的功能 html: <video id="video" width="0" height="0" src="" x5-playsinline="true" playsinline="true

音訊播放封裝(pcm格式,Windows平臺 c++)

介紹 pcm格式是音訊非壓縮格式。如果要對音訊檔案播放,需要先轉換為pcm格式。 windows提供了多套函式用於播放,本文介紹Waveform Audio Functions系列函式。 原始的播放函式比較難用,因工作需要,我寫了一個播放器,將播放相關函式封裝了;非常好用,還不易出錯。  播放流程  程式標頭

將GridView和資料庫查詢結果繫結起來後,點選查詢出了結果。但是點選第二面或者其他的,就直接變空白了。(已經解決)

public partial class Location_BJ_Location : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if(!Page.IsPostB

android控制webview音訊播放 本地/web播放源切換

這篇文章寫在音訊已經從網路上 通過擷取url並下載的方式下載到本地之後 url格式:emodou://mp3player?action=play&src=xx/xx/xx.mp3 web端點選播放時,web呼叫android的 play(url) 和 pause(

js前臺傳遞json字串陣列到後臺有後臺轉換成list集合或其他格式的問題解決

最近做公司專案,需要將js前臺的json字串傳遞到後臺,由後臺解析成list集合或者datatable格式的資料,前臺json字串格式如下: var data = [ {"name":"張三","sex":"男"}, {"name":"趙四","sex":"男"} ]

Android多moudle依賴,解決不能引用其他moudle的jar包或者遠端依賴庫問題

1、遠端依賴庫的引用      Studio3.0之前,引用類庫一般都是用compile,compile是公用的引用,其他moudle可以引入      Studio3.0之後,引用的compile,提示變為implemention,implemention為私有類庫,只能本

WAV格式音訊檔案標頭檔案格式以及C++讀取

起始地址 佔用空間 本地址數字的含義 00H 4byte RIFF,資源交換檔案標誌。 04H 4byte 從下一個地址開始到檔案尾的總位元組數。高位位元組在後面,這

IOS開發(7)WKWebView載入本地HTML、CSS、JS檔案JS(解決html內訪問其他資源路徑問題)

這段時間開發IOS應用,自己本身是搞java web 和 android,搞ios應用後面還有好多坑要跳,所以學習一點就整理一點筆記。不敢保證內容都是對的,但至少,我嘗試過分析整理的。 UIWebVIew和WKWebView都是ios提供的web控制元件。但是

解決Windows10或者其他版本Windows Update報錯的問題

最近更新系統,發現報錯0x80248014,系統版本為redstone2(創意者更新)。 總結髮現,只要是windows各個版本自動更新報錯的,如0x80開頭的一系列錯誤,都可以通過如下步驟解決: 手工停掉自動更新服務 執行—services.msc 去路徑C:\Windows\Softwa

解決thinkpad或者其他膝上型電腦無線網路不可用問題

這裡主要解決thinkpad系列無線網不可用的問題,樓主親測。膝上型電腦使用比較久之後,可能會出現無線網路不能使用的情況,如圖:也可能是另外一種,用乙太網(網線)連線電腦後的那種圖表上面打了一個叉,紅叉,看了起來還蠻嚇人的。但是別慌,先看看還不是你的無線網絡卡出了問題,在我的