美文网首页Func
iOS音频播放(系统音效播放)

iOS音频播放(系统音效播放)

作者: 天蚕 | 来源:发表于2016-06-28 16:19 被阅读3735次

昨天遇到了系统提示音的播放(类似于系统短音提示音,按键提示音),最终发现其实系统声音的播放其实很简单,在这里做一个纪录
这里的声音播放使用AVFoundation框架

播放系统音效(系统提示音效)

//其中的soundID是系统音效ID可以在下面地址找到
//soundID的类型是SystemSoundID其实就是UInt32需要强转一下eg:(UInt32)1007
AudioServicesPlaySystemSound(soundID);

系统音效ID查看:http://iphonedevwiki.net/index.php/AudioServices

播放网络缓存到沙盒document下的音频文件

//name是音频文件的名称
NSString *documents = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *urlString = [documents stringByAppendingPathComponent:name];

SystemSoundID soundID = 0;

if (!soundIDs)
{
    soundIDs = [NSMutableDictionary dictionary];
}
else
{
    soundID = (SystemSoundID)[soundIDs[soundIDName] integerValue];
}

if (soundID == 0)
{
    NSURL *url = [NSURL URLWithString:urlString];
    AudioServicesCreateSystemSoundID((__bridge CFURLRef _Nonnull)url, &soundID);
    soundIDs[soundIDName] = [NSString stringWithFormat:@"%zd",soundID];
}
AudioServicesPlaySystemSound(soundID);

播放网络app的boundle中的音频文件

//name是音频文件的名称
NSString *urlString = [NSString stringWithFormat:@"%@",[[NSBundle mainBundle] pathForResource:name ofType:nil]];

SystemSoundID soundID = 0;

if (!soundIDs)
{
    soundIDs = [NSMutableDictionary dictionary];
}
else
{
    soundID = (SystemSoundID)[soundIDs[soundIDName] integerValue];
}

if (soundID == 0)
{
    NSURL *url = [NSURL URLWithString:urlString];
    AudioServicesCreateSystemSoundID((__bridge CFURLRef _Nonnull)url, &soundID);
    soundIDs[soundIDName] = [NSString stringWithFormat:@"%zd",soundID];
}
AudioServicesPlaySystemSound(soundID);

为了方便使用将音频播放做了下简单封装成JLBAudioTool使用简单,有兴趣可以看一下https://github.com/tiancanfei/JLBAudioTool

相关文章

  • iOS音频播放(系统音效播放)

    昨天遇到了系统提示音的播放(类似于系统短音提示音,按键提示音),最终发现其实系统声音的播放其实很简单,在这里做一个...

  • iOS音频

    iOS中支持的音频播放类型播放音效System Sound Service播放本地音频AVFoundataion播...

  • iOS学习笔记23-音效与音乐

    一、音频 在iOS中,音频播放从形式上可以分为音效播放和音乐播放。 音效: 主要指一些短音频的播放,这类音频一般不...

  • iOS开始之制作音乐播放器

    一、音频播放与音效播放的基础知识 音效播放 1、音效播放《1》功能介绍用于播放比较短小的音效 常用作系统的提示音...

  • iOS音频播放

    引言: 在iOS中音频按照播放形式可以分为音效播放和音乐播放。音效主要指的是一些短音频,通常作为点缀音频,如游戏中...

  • iOS开发系列--音频

    在iOS中音频播放从形式上可以分为音效播放和音乐播放。前者主要指的是一些短音频播放,通常作为点缀音频,对于这类音频...

  • iOS 音视频开发(七)AudioToolbox音效播放

    在iOS中音频播放从形式上可以分为音效播放和音乐播放。前者主要指的是一些短音频播放,通常作为点缀音频,对于这类音频...

  • iOS开发:本地音频播放

    一、音频 在iOS中音频播放从形式上可以分为音效播放和音乐播放。前者主要指一些段音频播放,通常作为点缀音频,对于这...

  • 系统音频调用(转)

    iOS开发——播放系统音效、自定义音效需求大致分为三种:1.震动2.系统音效(无需提供音频文件)3.自定义音效(需...

  • iOS开发-音频播放

    iOS--音频的简单使用 音效播放(短时间的音频文件)1:AudioServicesCreateSystemSou...

网友评论

本文标题:iOS音频播放(系统音效播放)

本文链接:https://www.haomeiwen.com/subject/apytjttx.html