1. 程式人生 > >iOS 聲音和音效

iOS 聲音和音效

聲音

1.聲音需要匯入AVFoundation框架。

#import <AVFoundation/AVFoundation.h>

2.需要從Bundle(即app包下的資源)或則本地以及網路資源載入檔案,prepareToPlay準備播放

//設定背景音樂

NSString *path=[[NSBundlemainBundle] pathForResource:@"背景音樂"ofType:@"caf"];

//注意路徑轉成url的時候   本地的用fileUrlwithPath  網路的用URLwithstring

    NSURL *url=[NSURL fileURLWithPath

:path];

_soundPlayer=[[AVAudioPlayeralloc] initWithContentsOfURL:url error:nil];

    [_soundPlayer setVolume:0.2f];

//設定準備播放在播放效果比較好提前準備下

    [_soundPlayerprepareToPlay];

3.聲音可以控制大小播放等。

音效

1.需要匯入AudioToolBox礦建

#import <AudioToolbox/AudioToolbox.h>

2.使用C語言直接將音訊加入到記憶體,通過SystemSoundID來播放。

3.播放的時候控制不了音量也暫停不了。

4.效率高,通常播放時間段的音訊,一般不超過2秒。

5.通常為了避免同一個音效檔案在不同的控制器中被重複載入,造成無謂的記憶體消耗,在使用音效的時候,通常使用資料字典來儲存建立的SoundID,根據是否存在SoundID在判斷是否載入音訊檔案。

-(SystemSoundID)loadSound:(NSString *)name{

NSString *path=[[NSBundlemainBundle] pathForResource:name ofType:nil];

    NSURL *url=[NSURL fileURLWithPath:path];

//SystemSoundID不是一個指標型別

  所以傳他的地址進去

    SystemSoundID soundID;

AudioServicesCreateSystemSoundID((__bridgeCFURLRef _Nonnull)(url), &soundID);

    return soundID;

}

AudioServicesPlayAlertSound(_pingSoundID); 關閉提示音是可以關閉的

AudioServicesPlayAlertSound(_sucessfulSoundID); 有震動  關閉不了的



相關推薦

iOS 聲音音效

聲音 1.聲音需要匯入AVFoundation框架。 #import <AVFoundation/AVFoundation.h> 2.需要從Bundle(即app包下的資源)或則本地以及網路資源載入檔案,prepareToPlay準備播放 //設定背景音樂

Cocos2d-X中的聲音音效

循環 volume tid ng- cocos2d pop sin 返回值 source 在玩遊戲時都會有各種遊戲音,如啟動遊戲時會有背景音,勝利或者失敗會有一些音效。在Cocos2d-X中能夠使用CocosDenshion實現各種聲音 在使用CocosDensh

iOS 系統聲音振動

由於是要呼叫系統的聲音和振動效果,所以可以單獨的寫一個類出來 1、在.h檔案中匯入需要的基礎框架並定義振動、聲音和鈴聲及振動三種模式 #import <AudioToolbox/AudioToolbox.h> @interface MsgPlaySound

ios 設定聲音震動,單獨控制

一、今天專案中涉及了設定這快的聲音震動和響鈴,搞的頭大,以前搞過,只是簡單的呼叫系統的方法就可以實現,但是現在的公司要求,震動是震動,響鈴是響鈴,我看了微信,微信也是的分開的,做的很好,但是我就納悶了,這要怎搞,網上查閱了好多方法,都是下面的程式碼。但是這樣滿足不了我的專案需求,我就納悶的很,我設定了聲音和

ios xib代碼的frame布局 iOSXib布局後代碼修改約束的值

top word color 產生 view tar cnblogs fill lai 如何修改autolayout 約束的值? 1 2 3 4 5 6 目前我已知的方法有5種 1.修改frame(有時候可能會不起作用,但可以做動畫) 2.修改約束的flo

iOS定位獲取當前天氣

cat ide 獲取 data device targe user urn fig   這裏是定義了一個類,用來當app 啟動的時候,在後臺獲取當前和位置,並根據位置獲取當前天氣信息,當點擊底部的 tabbar 顯示我的控制器的時候,在頁面上顯示當前位置和當前的天氣狀況,天

iOS SocialAccounts簡單使用

count mon sed type eid httpurl orm ice sin ACAccountStore *account = [[ACAccountStore alloc] init]; ACAccountType *type = [accoun

IOS ObjectjavaScript相互調用

get 好的 ttr play eva absolut fix navi 創建 在IOS開發中有時會用到Object和javaScript相互調用,詳細過程例如以下: 1. Object中運行javascript代碼,這個比較簡單,蘋果提供了非常好的方法 -

iOS setValuesetObject的區別

tro -i index data- pack ans string類型 地址 ack 在使用NSMutableDictionary的時候經常會使用setValue forKey與setObject forKey,他們經常是可以交互使用的,代碼中經常每一種的使用都有。1.

Appium1.6 定位iOS元素操作元素

進行 appium exports .cn xpath 問題 ref 結果 -c 元素定位方式 第一種:通過Appium1.6的Inspector來查看 具體安裝方式前面的隨筆已經介紹了:http://www.cnblogs.com/meitian/p/7360017.h

Android Notification 的聲音震動

.com second attribute roc 聲音播放 lis rfc 震動 processor 我們在Android系統發送一條Notification的時候,經常需要通過震動或聲音來提醒用戶。如何為Notification設置聲音和震動了。大致思路有: -

一些常見的iOS面試問題, 一眼就能看出iOS初級高級工程師的區別

原版 完全 隱式 調試 英文原版 卡頓 等等 這一 lead 前言 面試題中有一些一般性的問題,通常是會問到的。面試iOS應聘者時,切入點很重要,不同的切入點會導致不同的結果,沒有找到合適的切入點也無法對應聘者有一個全面的了解。所以下面的面試問題更多的是提供方向,沒有固定的

std::ios::sync_with_stdiotie()——給cin加速

平時在Leetcode上刷題的時候,總能看到有一些題中最快的程式碼都有這樣一段   static const auto init = []() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); re

遊戲雖獨立,背景音樂音效卻相融

遊戲是一個虛擬的、獨立的並且又完整的世界,玩家在遊戲的世界裡自由奔跑,但是在遊戲的世界裡,遊戲背景音樂和音效卻是相融的。         當遊戲研發公司製作完每一款遊戲時,都會首先想到給遊戲配上音效和獨有的遊戲背景音樂。但是想要讓遊戲音樂

IOS xib程式碼自定義UIView

https://www.jianshu.com/p/1bcc29653085 總結的比較好     iOS開發中,我們常常將一塊View封裝起來,以便於統一管理內部的子控制元件。 下面就來說說自定義View的封裝以及它的多種實現方式 自定義UIView(控制元件)的封裝 什麼是

iOS 隱藏顯示隱藏檔案的【終端】命令

顯示隱藏檔案: 開啟『終端』這個程式,輸入以下: defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder 回車執行。 隱藏隱藏檔案: 開啟『終端』這個程式,輸入以下: d

iOS RubyCocoaPods的安裝

步驟1 ——安裝RVM 開啟終端 $ curl -L https://get.rvm.io | bash -s stable 期間可能會問你sudo管理員密碼,以及自動通過homebrew安裝依賴包,等待一段時間後就可以成功安裝好 RVM 然後,載入 RVM 環境 $

適配iOS 11iPhone X——導航欄、UITableView

每年的WWDC大會都激動和緊張好一段時間。激動的是期待蘋果的新產品帶來的那些黑科技,尤其今年的iPhone10週年紀念款iPhone X。緊張的當然是iOS、Swift和Xcode的升級,又要加班了(ㄒoㄒ)。在這裡跟大家分享一下適配iOS 11和iPhone X的過程中,遇到了一些坑。

[iOS]setValuesetObject區別

1 setValue: forKey:的定義 @interface NSMutableDictionary(NSKeyValueCoding) - (void)setValue:(id)value forKey:(NSString *)key; @end value 為

iOS安裝使用CocoaPods詳細過程

轉載自 https://blog.csdn.net/apple7758991/article/details/76585315 iOS安裝CocoaPods詳細過程 一、簡介 什麼是CocoaPods CocoaPods是OS X和iOS下的一個第三類庫管理工具,通過Coco