Xcode模拟器中无法播放音频文件的原因分析
2015-10-05 07:51
447 查看
在本猫的Mac Mini上开发iOS app,发现当执行到播放音频的代码时,发生错误,log如下:
看了一下,貌似是和音频输入设备有关,可是我是播放音乐,并没有录音啊,按道理只用到音频输出设备,不用输入设备吧?
然而同样的代码在MacAir和真机上都运行正常,声音播放的杠杠的.
于是到Stack Overflow搜索,发现2个比较靠谱的答案:
这哥们说模拟器是软件而不是硬件,无法播放音频,必须到真机上测试.
但是在macAir的模拟器上是可以播放的,所以问题不在这.
另一哥们说:
Ta说到系统设置的Sound中去看其中的Input栏中是否有设备,如果有那么可以播放,否则你必须添加一个输入设备才可播放.如果我没记错的话,MacAir是有输入设备的(可以录音),而Mac mini貌似没有.网上还有人说在mini上插个耳机就可以了,这应该是因为耳机上带有输入的话筒,不信可以到Input栏中看一下.但是没有输入话筒的耳机插上去也是不行的,我记得iPhone的耳机是带输入话筒的,而iPod shuffle耳机是没有的.
等回去再验证下.
2015-10-05 07:22:17.122 LearnSpriteBuilder[10321:559370] 07:22:17.122 ERROR: 98: Error '!obj' trying to fetch default input device's sample rate 2015-10-05 07:22:17.122 LearnSpriteBuilder[10321:559370] 07:22:17.122 ERROR: 100: Error getting audio input device sample rate: '!obj'
看了一下,貌似是和音频输入设备有关,可是我是播放音乐,并没有录音啊,按道理只用到音频输出设备,不用输入设备吧?
然而同样的代码在MacAir和真机上都运行正常,声音播放的杠杠的.
于是到Stack Overflow搜索,发现2个比较靠谱的答案:
The error occurs because you are trying to get device's sample rate from simulator, which is not possible. Because simulator is not a hardware. Its a software. So some hardware functionality will not able to simulated with it. It can not do the following: Open Camera Play sounds Gyrometer Accelerometer Shake effect And many more which required device hardware acceleration. You need to test this in real device.
这哥们说模拟器是软件而不是硬件,无法播放音频,必须到真机上测试.
但是在macAir的模拟器上是可以播放的,所以问题不在这.
另一哥们说:
I was having this problem, the comment from @Matti Jokipii, helped me a lot. You need to have a sound input enabled, so your Mac doesn't give you the null exception. Go To System Preferences > Sound. And Check you have some input connected. If not, you will have to add a microfone, and re-rerun the app.
Ta说到系统设置的Sound中去看其中的Input栏中是否有设备,如果有那么可以播放,否则你必须添加一个输入设备才可播放.如果我没记错的话,MacAir是有输入设备的(可以录音),而Mac mini貌似没有.网上还有人说在mini上插个耳机就可以了,这应该是因为耳机上带有输入的话筒,不信可以到Input栏中看一下.但是没有输入话筒的耳机插上去也是不行的,我记得iPhone的耳机是带输入话筒的,而iPod shuffle耳机是没有的.
等回去再验证下.
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- jQuery根据ID获取input、checkbox、radio、select的示例
- css样式之区分input是按钮还是文本框的方法第1/4页
- jQuery操作input值的各种方法总结
- 控制input的CSS但不影响CheckBox以及Radio的样式
- js禁用和激活input表单的方法
- 让input不可点击的另一种方法
- input 高级限制级用法
- css美化input file按钮的代码方法
- javascript 控制input只允许输入的各种指定内容
- 复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题
- 检测input每次的输入是否合法遇到汉字输入就有问题
- 把input初始值不写value的具体实现方法
- input 日期选择功能的javascript代码
- 利用JavaScript更改input中radio和checkbox样式
- js实现input框文字动态变换显示效果
- 使用jquery给input和textarea设定ie中的focus
- js获取input长度并根据页面宽度设置其大小及居中对齐
- 制作符合用户体验的漂亮的input输入框
- input输入框的自动匹配(原生代码)