问题标签 [avaudiosession]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
826 浏览

iphone - 尝试在 iPhone 中录制音频时音质不佳

我正在使用 AVAudioRecorder 类在我的应用程序中录制用户输入的语音。我能够录制和播放声音。但是,输出的质量非常低。尝试播放录制的音频时,我在背景中听到很多噪音。我应该怎么做才能获得高质量的音频输出。我正在使用以下设置(代码)来录制声音。

以及以下用于播放音频的代码

谢谢..

0 投票
1 回答
1475 浏览

iphone - 音频单元,设置格式失败并显示 -10581

我无法弄清楚为什么以下返回 OSStatus -10851:

适用于模拟器,但不适用于设备。

这是其余的代码:

0 投票
2 回答
12790 浏览

ios - AVAudioRecorder 支持哪些格式来录制声音?

我在http://developer.apple.com/library/ios/#documentation/MusicAudio/Reference/CoreAudioDataTypesRef/Reference/reference.html#//apple_ref/doc/找到了不同值(音频数据格式)的列表uid/TP40004488

音频数据格式标识符 音频数据格式的标识符,在 AudioStreamBasicDescription 结构中使用。

kAudioFormatLinearPCM = 'lpcm',

kAudioFormatAC3 = 'ac-3',

kAudioFormat60958AC3 = 'cac3',

kAudioFormatAppleIMA4 = 'ima4',

kAudioFormatMPEG4AAC = 'aac',

kAudioFormatMPEG4CELP = 'celp',

kAudioFormatMPEG4HVXC = 'hvxc',

kAudioFormatMPEG4TwinVQ = 'twvq',

kAudioFormatMACE3 = 'MAC3',

kAudioFormatMACE6 = 'MAC6',

kAudioFormatULaw = 'ulaw',

kAudioFormatALaw = 'alaw',

kAudioFormatQDesign = 'QDMC',

kAudioFormatQDesign2 = 'QDM2',

kAudioFormatQUALCOMM = 'Qclp',

kAudioFormatMPEGLayer1 = '.mp1',

kAudioFormatMPEGLayer2 = '.mp2',

kAudioFormatMPEGLayer3 = '.mp3',

kAudioFormatTimeCode = '时间',

kAudioFormatMIDIStream = 'midi',

kAudioFormatParameterValueStream = 'apvs',

kAudioFormatAppleLossless = 'alac'

kAudioFormatMPEG4AAC_HE = 'aach',

kAudioFormatMPEG4AAC_LD = 'aacl',

kAudioFormatMPEG4AAC_ELD = 'aace',

kAudioFormatMPEG4AAC_HE_V2 = 'aacp',

kAudioFormatMPEG4AAC_Spatial = 'aacs',

kAudioFormatAMR = 'samr',

kAudioFormatAudible = 'AUDB',

kAudioFormatiLBC = 'ilbc',

kAudioFormatDVIIntelIMA = 0x6D730011,

kAudioFormatMicrosoftGSM = 0x6D730031,

kAudioFormatAES3 = 'aes3'

但是,我认为我们不能使用所有提到的格式(例如 mp3)。

谁能帮我解决使用 AVAudioRecorder 录制声音所支持的格式?

谢谢。

0 投票
7 回答
32796 浏览

iphone - 使用 AVAudioPlayer 检测 iPhone 的响铃/静音/静音开关不起作用?

我尝试使用这些方法来检测响铃/静音开关是否处于活动状态:

如何以编程方式感知 iPhone 静音开关?

AVAudioSession 类别不按文档要求工作

但在我的 iPhone 4 上,“状态”值始终为“扬声器”(CFStringGetLength(state) 返回的长度值始终为 7)。有没有人成功使用过这个方法?如果是这样,在什么样的设备和 SDK 版本上?

我这样称呼它:

我在想,当手机上的物理开关被切换时,可能会触发其他一些(更准确的)kAudioSessionProperty 事件。有人有想法么?

顺便说一句,我将 AVAudioSessionCategoryAmbient 类别与我的 [AVAudioSession sharedInstance] 一起使用。

更新:我也尝试过使用不同的音频类别和一些其他音频会话属性,在静音/取消静音开关时似乎没有触发。:(

2014 年 1 月 1 日更新:这有点骇人听闻,我在 iPhone 5S 上进行多任务处理时遇到了崩溃,但如果您想检测静音开关。它甚至适用于 iOS 7。

0 投票
1 回答
1734 浏览

iphone - AVAudioSession后台模式问题

我已经设置了我的 AVAudioSession 在后台播放音乐

还在我的 plist 文件中添加了“必需的背景模式”。

当我播放远程文件并且 iPhone 进入后台时,音频会继续播放。但是当我在我的应用程序(MPMediaItem URL)中从 iPod 播放歌曲时,它不会继续在后台播放。

我错过了什么?

0 投票
0 回答
2531 浏览

iphone - 处理音频中断 AVAudioPlayer

当单击按钮等时,我正在我的应用程序中播放“音效”,并且我在让代表在 AVAudioPlayer 类中正常工作以保持音乐在声音之后播放时遇到了一些困难。我已经导入了框架并设置了代表,但我似乎无法让 AVAudioSession 共享实例工作......我知道我遗漏了一些东西,但即使在苹果文档中似乎也无法在任何地方找到明确的答案。这是我用来完成此操作的代码。

按下按钮时

代表们试图将我的声音作为“环境噪音”播放,或者在我的声音发生后恢复播放

现在,我所了解的最后一个代表是唯一真正在我的情况下使用的代表,而我所拥有的将不起作用,因为我需要使用[AVAudioSession SharedInstance]类似的东西,但我似乎无法让它AVAudioSession工作!

任何帮助或建议将不胜感激。我基本上只需要知道如何获得,[AVAudio SharedInstance]所以如果有人知道我需要导入什么类或我需要添加框架以使其正常工作,那将非常有义务!

谢谢

0 投票
1 回答
2597 浏览

ios - audioRecorderDidFinishRecording 的问题:成功:

我面临这个问题:

我使用 iPhone 麦克风录制一些音频并将其上传到我的服务器。我record说 40 秒并upload在 41 秒后调用该函数(计时器)。现在,上传到服务器的录制文件不是完整文件,因为该功能

在我调用upload函数之前不调用。它仅在upload调用函数后调用 - 无论我何时调用upload函数 - 10 秒后或 100 秒后。

在上传功能中,我使用 ASIHTTPRequest 和 ASIFormDataRequest 来上传文件。

谁能告诉我为什么会这样?谢谢。

编辑#1:如果 upload未调用该audioRecorderDidFinishRecording: successfully:方法,则永远不会调用该方法。很奇怪!

编辑#2:

相关方法:

0 投票
0 回答
1122 浏览

iphone - iphone背景音频开/关

我有一个应用程序可以在应用程序在后台播放音频时使用 plist 中的条目并且一切正常。但我想为用户提供设置后台播放的选项我使用这种方法来激活播放器

我想在运行时更改此选项,并且不会中断音频播放。如果发生这种情况有什么想法吗?

谢谢你的时间

我将在此处发布解决方案以使其更好

0 投票
1 回答
3013 浏览

iphone - 使用多个音频类型的 AVAssetTrack 为 AVURLAsset 切换音轨

我有一个带有多个音频类型的 AVAssetTracks 的 AVURLAsset。我希望能够允许用户通过触摸按钮在这些不同的音轨之间切换。它正在打开和关闭第一首曲目的音量,但当音量设置为 1.0 时听不到其他曲目。

这是用于调整音轨音量的代码(发送方是一个 UIButton,其标签设置为 audioTracks 中的资产索引)。

我是否需要做一些事情才能使所需的曲目成为活跃的曲目?

0 投票
1 回答
347 浏览

avaudioplayer - endInterruption 每次都不会被调用

我正在使用 openCL 播放声音,我注意到在来电后声音停止运行,我按下拒绝。我能够将其追溯到未调用的 endInterruption 。

问题是这种情况只发生在我重复复制的 5 次中。这意味着我的代码没问题,因为在大多数情况下它确实调用了 endInterruption,但每隔一段时间 iOS 决定不调用 endInterruption,我不知道为什么。