Xcode模拟器中无法播放音频文件的原因分析

在本猫的Mac Mini上开发iOS app,发现当执行到播放音频的代码时,发生错误,log如下:

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耳机是没有的.

等回去再验证下.

时间: 2024-12-02 22:26:52

Xcode模拟器中无法播放音频文件的原因分析的相关文章

mp3-jsp中audio标签播放音频文件

问题描述 jsp中audio标签播放音频文件 HTTP ""Content-Type"" 中的 ""text/html"" 不支持.媒体资源 http://youxin.telecomjs.com/audio/audio.mp3 加载失败. 解决方案 jsp 加上<!DOCTYPE HTML>了么 解决方案二: 有些浏览器默认是不支持mp3格式的,你要多设置几个source选项 解决方案三: 请问下楼主,后来你解决

w l-java中播放音频文件问题,为撒播放不了?

问题描述 java中播放音频文件问题,为撒播放不了? import java.awt.*; import java.net.*; import java.awt.event.*; import java.io.*; import java.applet.*; import javax.swing.*; public class Music extends JFrame implements Runnable,ItemListener,ActionListener{ Thread thread;

mediaplayer-不使用 OnCompletionListener() 如何动态的播放音频文件?

问题描述 不使用 OnCompletionListener() 如何动态的播放音频文件? 不使用 OnCompletionListener() 如何连续播放音频文件?我用的下面的代码: mp.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { // TODO Auto-generated method stub i = i + 1; Sy

C#中支持播放音频的格式都有什么?

问题描述 C#中支持播放音频的格式都有什么,听说主要是wav,但也支持其他格式,比如mp3,但自己写的好像只能播放wav的.请指教~! 解决方案 解决方案二:2.0中支持wav需要播放其他格式,你要去下载第三方控件解决方案三:在2.0中的media命名空间下有sound类.可以播放wav格式的.如果要播放mp3可以去添加其他控件.比如mediaplay解决方案四:SoundPlayer只能播放wav格式的声音文件.解决方案五:顶LS

关于Window Server2008 服务器上无法播放音频文件和FLV视频文件_win服务器

在偌大的百度当中查找我所需要的资源信息,但网络上所描述的都不能解决,发生此类问题的人很多,但是都没有得到准确的解决方法!经个人各方面的尝试,其实非常简单的解决了无法播放音频文件的问题,如果各位今后也遇到此类问题,可按照我的方式处理: 若是3gp文件,在服务器IIS的MIME类型中直接添加扩展名为".3gp" MIME类型为"video/3gpp" 若是mp4文件,在服务器IIS的MIME类型中直接添加扩展名为".mp4" MIME类型为"

ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件

原文:ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件 先看效果图,然后上代码: <UserControl x:Class="MapClient.PicMusic" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx

音乐播放器-ios开发:使用audioqueue播放音频文件

问题描述 ios开发:使用audioqueue播放音频文件 想问下使用Audioqueue播放本地音频文件时怎样拖动其播放进度? PS:不是用系统自带的播放控件(比如avplayer,avaudioplayer,musicplayercontroller等等),而是用audioqueue自己实现.

代码-C语言 怎么播放音频文件

问题描述 C语言 怎么播放音频文件 求大神 刚学了C语言 想尝试播放音频 求助 求代码 解决方案 Windows文件夹下有一个Media文件夹,里面有很多这种波形文件,比如提示声.警报声.开机音乐等等. 解决方案二: 如果是wav那样的波形文件(Windows自带的录音机可以录制) 用PlaySound() API就可以播放. 解决方案三: 刚学了C语言,你是在什么系统下学习的?开发环境又是什么呢? Windows 系统,可以使用系统提供的 API 来完成播放:Linux 系统应该也类似吧! 如

silverlight 声音-vs2012sliverlight 播放音频文件

问题描述 vs2012sliverlight 播放音频文件 我用vs2012sliverlight 播放wma文件,按照silverlight从入门到精通 关于媒体播放mediaelement的使用,步骤一样,可是浏览器无法播放,运行时没有提示出错??? 声音文件已经添加到工程目录,MediaElement设置为"永远复制","RESOURCE" ``` xmlns="http://schemas.microsoft.com/winfx/2006/xaml