AVAudioPlayer播放音频文件时没声音
2015-08-19 22:42
435 查看
AVAudioPlayer播放一个mp3文件时,居然没有声音。mp3文件是放在工程里面的,路径没有错误但就是死活没有声音。
解决方法是把avAudioPlayer定义为全局变量的时候就有声音了,是不是很神奇。应该是被内存回收了所以没有声音,记得要定义为全局变量
func playSound() { let notifyUrl = NSBundle.mainBundle().pathForResource("notify", ofType: "mp3") //let notifyUrl = NSBundle.mainBundle().resourcePath?.stringByAppendingPathComponent("notify.mp3") if let mp3 = notifyUrl { let url = NSURL(fileURLWithPath: mp3) // var filemanager = NSFileManager() // let result = filemanager.fileExistsAtPath(mp3) // println("result=\(result)") AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil) var error:NSError? var avAudioPlayer = AVAudioPlayer(contentsOfURL: url, error: &error) if error != nil { println(error) } else { avAudioPlayer.volume = 1.0 avAudioPlayer.prepareToPlay() avAudioPlayer.play() } } }
解决方法是把avAudioPlayer定义为全局变量的时候就有声音了,是不是很神奇。应该是被内存回收了所以没有声音,记得要定义为全局变量
var avAudioPlayer:AVAudioPlayer? func playSound() { let notifyUrl = NSBundle.mainBundle().pathForResource("notify", ofType: "mp3") //let notifyUrl = NSBundle.mainBundle().resourcePath?.stringByAppendingPathComponent("notify.mp3") if let mp3 = notifyUrl { let url = NSURL(fileURLWithPath: mp3) // var filemanager = NSFileManager() // let result = filemanager.fileExistsAtPath(mp3) // println("result=\(result)") AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil) var error:NSError? //var avAudioPlayer = AVAudioPlayer(contentsOfURL: url, error: &error) avAudioPlayer = AVAudioPlayer(contentsOfURL: url, error: &error) if error != nil { println(error) } else { avAudioPlayer?.volume = 1.0 avAudioPlayer?.prepareToPlay() avAudioPlayer?.play() } } }
相关文章推荐
- Shell脚本Demo
- OpenGL绘制简单的参数曲线(二)——三次Bezier曲线
- Hadoop源码---Inputformat
- win7下IIS安装与配置运行网站
- <译>通过PowerShell工具跨多台服务器执行SQL脚本
- JFinal/AOP
- hadoop,jdk在centos上的的安装
- 运维人员低学历者要不要补学历?何时补合适?
- 运维人员低学历者要不要补学历?何时补合适?
- 高负载、高并发网站架构知识汇总-大流量网站架构的几点认识
- 网站防刷方案
- 虚拟域名访问不到本地VM上linux
- 高负载、高并发网站架构知识汇总-大流量网站架构的几点认识
- 基于hadoop1.2.1的hive伪分布式安装
- PopupWindow 中的ListView,点击没反应
- linux开机出现grub>的解决方案
- Odoo/OpenERP Windows 10安装后无法访问解决办法
- Target runtime Apache Tomcat v6.0 is not defined.错误解决方法
- 在mac中配置apache+php5.3+mysql的环境,修改hosts
- shell基础2-历史命令和tab键/别名与快捷键