美文网首页
音效 音乐

音效 音乐

作者: 董立权 | 来源:发表于2017-08-04 19:51 被阅读0次

播放音效

#import <AVFoundation/AVFoundation.h>
//1.获取资源文件的URL
    NSURL *url = [[NSBundle mainBundle]URLForResource:@"m_03.wav" withExtension:nil];
    
    //2.创建音效ID,一个音效文件对应一个SoundID
    SystemSoundID soundID;
    AudioServicesCreateSystemSoundID(CFBridgingRetain(url), &soundID);
    
    //播放音效并震动(真机)
    //    AudioServicesPlayAlertSound(soundID);
    //3.播放音效
    AudioServicesPlaySystemSound(soundID);

音效工具类

#import "SoundTool.h"
#import <AVFoundation/AVFoundation.h>
@interface SoundTool()
//字典
//@property (nonatomic,strong)NSMutableDictionary *dict;
@end

@implementation SoundTool
static NSMutableDictionary *_dict;
//加载类的时候调用,只会在第一次使用的时候调用(导入类就会调用)
+(void)load {
    _dict = [NSMutableDictionary dictionary];
}
//使用类时才会调用
+(void)initialize{}
+(void)playSoundWithFileName:(NSString *)fileName{
    //key:fileName value:soundID
    //1.判断fileName是否有值
    if(fileName.length == 0) return;
    //2.判断soundID是否有值
    //2.1获取sundID
    SystemSoundID soundID = [_dict[fileName] unsignedIntValue];
    //判断
    if(!soundID){
        //3.创建soundID
        NSURL *url = [[NSBundle mainBundle]URLForResource:fileName withExtension:nil];
        AudioServicesCreateSystemSoundID(CFBridgingRetain(url), &soundID);
        if(!url) return;
        //加入到字典
        _dict[fileName] = @(soundID);
    }
    //4.播放音效
    AudioServicesPlaySystemSound(soundID);
}
+(void)disposeSoundIDWithFileName:(NSString *)fileName{
    if(fileName.length == 0) return;
    //获取soundID
    SystemSoundID soundID = [_dict[fileName] unsignedIntValue];
    //判断是否有值
    if(soundID){
        AudioServicesDisposeSystemSoundID(soundID);
        //从字典移除
        [_dict removeObjectForKey:fileName];
    }
}
@end

音乐

@property(nonatomic,strong)AVAudioPlayer *audioPlayer;
    //0.创建音频播放的url
    NSURL *url = [[NSBundle mainBundle]URLForResource:@"童话.mp3" withExtension:nil];
    //1,创建音频播放对象
    AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
    self.audioPlayer = audioPlayer;
    //2.准备播放 开辟内存空间,做播放前的准备工作 如果不调用,默认在播放时调用
    [audioPlayer prepareToPlay];
    //3.播放
    [audioPlayer play];

相关文章

  • 音效 音乐

    播放音效 音效工具类 音乐

  • 音乐播放

    日常开发中所用到的音乐播放 ,除了音乐播放器之外就是音效的播放: 音效播放 音乐播放 音乐播放指的是用音乐播放框架...

  • 音视频

    音效 1.iOS中音乐可以暂停,音效不能操作;而且音效可以立即播放,加载到本地,而音乐需要缓冲,边下边播.在iOS...

  • 多媒体续

    多媒体 音效池SoundPool### 音效池可以放多个音乐soundPool = new SoundPool(2...

  • 加载本地沙盒音效

    点击按钮会有音效、进入某个vc会播放背景音乐等,都是加载本地沙盒的音效 0.本地沙盒中添加音效: 1.加载音效的方...

  • 音频 音效播放AVFoundation

    音频主要有两种,俗称大小音乐。短的音效,长的音乐.看大牛学习的,勿喷,毕竟小白 #import//音效(短),音频...

  • cocos 设置背景音乐音量,以及音效音量

    设置背景音乐音量 设置音效音量

  • 游戏音效能为游戏带来哪些效果?

    一款完整的游戏,不仅有精美的画面,还有符合游戏的音乐、音效与配音。音乐提升玩家氛围,配音引导玩家,音效是游戏内涵的...

  • 【My learning experience】学习笔记(121

    制作的视频,添加音效增加音乐的立体感、氛围以及画面的代入感。也可对动画、文字等加音效,增加其效果。 给视频添加音效...

  • 游戏音频未来发展趋势

    游戏音频根据各自声音特点可以分为:游戏音乐、音效与配音。无论是游戏音乐、游戏音效还是游戏配音对于游戏有着极其重要的...

网友评论

      本文标题:音效 音乐

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