1. 程式人生 > >ios播放本地聲音檔案

ios播放本地聲音檔案

從一段程式碼裡找到幾個片段:

#import <AVFoundation/AVFoundation.h>
#import <AudioToolbox/AudioToolbox.h>

// 載入音效
- (SystemSoundID)loadSound:(NSString *)soundFileName
{
    // 1. 需要指定聲音的檔案路徑,這個方法需要載入不同的音效
    NSString *path = [[NSBundle mainBundle]pathForResource:soundFileName ofType:nil];
    // 2. 將路徑字串轉換成url
    NSURL *url = [NSURL fileURLWithPath:path];
    
    // 3. 初始化音效
    // 3.1 url => CFURLRef
    // 3.2 SystemSoundID
    SystemSoundID soundId;
    // url先寫個錯的,然後讓xcode幫我們智慧修訂,這裡的方法不要硬記!
    AudioServicesCreateSystemSoundID((__bridge CFURLRef)(url), &soundId);
    
    return soundId;
}

// 初始化音樂播放器
- (AVAudioPlayer *)loadMusic
{
    // 1 初始化播放器需要指定音樂檔案的路徑
    NSString *path = [[NSBundle mainBundle]pathForResource:@"背景音樂" ofType:@"caf"];
    // 2 將路徑字串轉換成url,從本地讀取檔案,需要使用fileURL
    NSURL *url = [NSURL fileURLWithPath:path];
    // 3 初始化音訊播放器
    AVAudioPlayer *player = [[AVAudioPlayer alloc]initWithContentsOfURL:url error:nil];
    // 4 設定迴圈播放
    // 設定迴圈播放的次數
    // 迴圈次數=0,聲音會播放一次
    // 迴圈次數=1,聲音會播放2次
    // 迴圈次數小於0,會無限迴圈播放
    [player setNumberOfLoops:-1];
    
    // 5 準備播放
    [player prepareToPlay];
    
    return player;
}

    // 5. 初始化背景音樂播放器
    _backMusicPlayer = [self loadMusic];
    [_backMusicPlayer setVolume:0.5f];
    // 6. 開始播放
    [_backMusicPlayer play];
    
    // 7. 初始化音效
    _winSound = [self loadSound:@"勝利.aiff"];
    _faildSound = [self loadSound:@"失敗.aiff"];
    _drewSound = [self loadSound:@"和局.aiff"];
    _clickSound = [self loadSound:@"點選按鈕.aiff"];

// 播放音效
        // AudioServicesPlayAlertSound在播放音效的同時會震動
        AudioServicesPlaySystemSound(_drewSound);

從程式碼中可以看出有兩種播放方式:
  1. 系統聲音服務(System Sound Services)詳細介紹請看這位大神的文章 http://www.cnblogs.com/wayne23/p/3596772.html
  2. AVAudioPlayer音訊播放器


相關推薦

ios播放本地聲音檔案

從一段程式碼裡找到幾個片段: #import <AVFoundation/AVFoundation.h> #import <AudioToolbox/AudioToolbox.h> // 載入音效 - (SystemSoundID)loadSound

IOS 播放本地音樂(播放記憶體卡中的MP3) 及 檔案的寫入

在IOS開發中, 每一個應用程式都擁有一個Documents的資料夾來存放自己的檔案。 在這裡為了測試, 我們首先得把mp3檔案匯入到專案中。 然後讀出資源裡的mp3檔案,寫入到documents中, 然後再從documents中讀取該mp3檔案來播放。 (在實際當中也許我

iPhone 播放音訊聲音檔案

原文地址::https://blog.csdn.net/xys289187120/article/details/6595919   相關文章 1、在 iPhone 靜音情況下,播放 MP3 檔案的程式碼----https://www.aliyun.com/jiaocheng/

linux下如何利用瀏覽器播放本地flv檔案

雖然這裡我寫的東西比較少,比較簡單,你看了可能覺得,哇,這麼簡單。但是 ,到達這裡之前,我真的是找了好久,才知道這個方法。 ------------------------------------------------------我是華麗的分割線--------------

FFMpeg+SDL2.0 播放本地AVI檔案練手示例程式

FFMpeg版本: ffmpeg-3.4-win32-dev SDL版本:SDL2-2.0.7 參考文章: 雷神的各種相關文章。。。 希望能有一定的參考幫助吧…… // FFmpeg_playTest.cpp : 定義控制檯應用程式的入口點。 // #incl

Android mediaplayer 播放本地音樂檔案

上一個部落格講到了搜尋本地音樂檔案,那麼當搜尋到後,我們怎麼使用這個音樂檔案呢?當然是根據路徑來播放他,而要播放音樂,自然而然是要用到Android的mediaplayer這個類。 對於mediapl

iOS-播放本地視訊

開張第一篇,以前總是伸手黨,這次就來試下。 這次要寫的是iOS播放本地視訊,內容不多,就簡單幾行,就是呼叫了系統的視訊播放。 首先匯入框架 MediaPlayer.framework , 然後標頭檔案,並設定了一個property #import <MediaPlay

ios 載入本地HTML檔案,圖片不顯示的問題

第一種方式匯入HTML檔案的時候,要用這種方法:   NSString *path = [[NSBundle mainBundle] pathForResource:@"檔名" ofType:@"html"];     NSString *html = [NSStrin

iOS 播放flash視訊檔案

1.將swf視訊轉換成html。--閃客精靈 會出現兩個檔案(html,js) 2.在html檔案最後面新增上 </script> <script> 此處把js的內容全部粘帖過來即可 </script> </body> <

iOS 播放系統聲音&系統聲音大全

在app開發中使用系統音效有震動,聲音類。 設定方法如下 步驟1 新增所需庫檔案,即“AudioToolbox.framework” 步驟2 在使用類中新增標頭檔案,即 #import <Au

iOS PCM本地檔案,資料流播放

最近做語音對講功能,查找了不少資料,現就音訊pcm檔案播放這一塊整理出來,以便檢視。 期間參考的文章有些已經找不著出處了,只把能找到的記錄一下,感謝分享! iOS語音對講(三)FFmpeg實時解碼AAC並播放PCM iOS播放PCM,NSData流程式碼(Audio Queue Serv

IOS AVAudioPlay 播放本地音訊沒聲音問題

self.avAudioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:bellVoicePath] error:&bellVoiceError];

iOS音頻播放之AudioQueue(一):播放本地音樂

init方法 函數 完成 一起 utc getprop 應用 清洗 spl AudioQueue簡單介紹 AudioStreamer說明 AudioQueue具體

Android利用Mediapalyer播放本地資原始檔聲音

首先在res下建立raw,然後將mp3音樂拷貝到raw下 直接貼程式碼吧 //開始播放聲音 public class PlayVoice { private static MediaPlayer mediaPlayer; public static void p

使用libvlc簡單的播放一首本地音樂檔案

#include <iostream> #include <unistd.h> #include "vlc/vlc.h" #include "libvlc.h" #include "libvlc_media_player.h" #include "log_

iOS 如何載入本地html檔案

很簡單 如下圖所示 -(void)loadLocalHtml{ NSURL *url = [[NSBundle mainBundle] URLForResource:@"/sfa/html/index.html" withExtension:nil]; [self

android實現本地視訊的播放,類似於一個小型的MP4,可以選擇本地檔案進行播放

首先呢我們來 看一下佈局檔案中的程式碼: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

用Modem at指令播放聲音檔案

echo " 127.0.0.1       localhost.localdomain bogon localhost   localhost4 " >>  /etc/hosts  sudo chown  500  /var/lock/lockdev  進m

C# 播放聲音檔案

System.Media.SoundPlayer sp = new SoundPlayer();   sp.SoundLocation = @"test.wav";   sp.PlayLooping(); 或者 SoundPlayer player = new SoundPlayer();

[總結]Android 獲取本地視訊檔案路徑並播放的幾種方式

Android 獲取本地視訊檔案路徑的方式 在android 專案開發過程中,遇到獲取本地視訊檔案的問題,記錄一下獲取本地檔案的幾種方式。 首先說下sdcard在手機中的掛載位置。 android手