Tag: avaudiorecorder

录音— RubyMotion

最初于 2014年8月5日 发布在 polyglotconsultant.blogspot.com 上。 AVAudioRecorder类在我们的应用程序中提供了录音功能。 它记录通过内置麦克风或连接的耳机传来的音频。 我们可以录制音频,直到用户停止录制为止。 记录给定的时间,也可以暂停和记录。 我们可以实现委托方法来处理录音机中断,音频解码错误和录音完成。 initWithURL()用于初始化AVAudioRecorder类的对象。 这将接受文件的URL,设置哈希值和错误指针以存储错误代码(如果在对象初始化期间全部引发错误代码)。 网址: 这将保存要记录的文件系统位置。 从文件扩展名开始,它将采用录制格式。 recording_url = NSURL.fileURLWithPath(App.documents_path +“ /record.caf”) 设置: 这将具有记录所需的配置,例如采样率,比特率,比特深度和转换质量。 使用AV Foundation音频设置常量中描述的设置键。 configs = {AVFormatIDKey => KAudioFormatLinearPCM,AVNumberOfChannelsKey => 2,AVEncoderBitRateKey => 16,AVEncoderAudioQualityKey => AVAudioQualityMax.to_i,AVSampleRateKey => 44100,AVLinearPCMIsBigEndianKey => 0,AVLinearPCMIsFloatKey => 0 错误: 这是指向NSError的指针。 那将参考错误描述。 err_ptr = Pointer.new(:object) 录音机初始化示例如下 @recorder = AVAudioRecorder.alloc.initWithURL recording_url,设置:配置,错误:err_ptr 录制之前,必须将AVAudioSession设置为录制。 错误= Pointer.new(:object)#配置音频会话sessionInstance […]

通过代码访问麦克风进行录制,iOS

在我的应用程序中使用AVAudioRecorder进行录制。 录音没有问题。 当我第一次玩我的应用程序,问题是一个alertviewpopup窗口,关于允许/不允许使用麦克风。 我希望有 1)控制这个默认的alertview,使我的录音和定时器(一个标签,用来显示秒,audiologging),只有当我点击允许麦克风, 要么 2)需要为应用程序设置麦克风,以便它不会提示alertview询问是否允许麦克风。 我search互联网,stackoverflow,但没有得到任何与此职位相关的事情。 阅读一些post,但他们是关于显示状态,该麦克风是可用的应用程序与否,这是没有那么多用于我。

AVAudioRecorder设置不会对输出文件生效

我正在使用AVAudioRecorder来logging并保存到一个audio.m4a文件与这些设置: NSMutableDictionary *recordSetting = [[NSMutableDictionary alloc] init]; [recordSetting setValue:[NSNumber numberWithInt:AVAudioQualityMin] forKey:AVEncoderAudioQualityKey]; [recordSetting setValue:[NSNumber numberWithInt:kAudioFormatMPEG4AAC] forKey:AVFormatIDKey]; [recordSetting setValue:[NSNumber numberWithInt:16] forKey:AVEncoderBitRateKey]; [recordSetting setValue:[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey]; [recordSetting setValue:[NSNumber numberWithInt: 1] forKey:AVNumberOfChannelsKey]; [recordSetting setValue:[NSNumber numberWithInt:8] forKey:AVLinearPCMBitDepthKey]; 但是当我使用一个软件来读取audio.m4a文件的属性时,我得到了这些: 比特率:64KBps 频道:2 那么这是否意味着上述设置不会影响输出文件,因为显然,我将其比特率设置为16,并将通道设置为1.我错过了这些设置上的一些内容?

当按下lockingbutton时AVAudioRecorder停止

可能重复: 屏幕locking时,AVAudioRecorder不logging 我试图让我的录音机保持工作,即使iPhonelocking为苹果的语音备忘录应用程序。 目前lockingbutton似乎要求我的logging器停止。 即使在屏幕locking之前,我还能做些什么来保持录像机不动,直到用户手动停止录像?

我可以将peakPowerForChannel转换为dB吗?

我发现有些应用程序可以显示audio级别的分贝(dB)值。 我一直在尝试一段时间,但一直没有find功率和dB之间的关系。 有人可以告诉我该怎么做吗?

AVAudioRecorder和AirPlay Mirrioring

当AVAudioRecorder会话处于活动状态时(当我正在录制audio时),我无法激活设备上的AirPlay镜像。 Airplay镜像在应用程序运行时停用,当应用程序退出时将其重新打开。 这篇文章似乎表明, 这是没有办法的 。 我的想法是尝试: 使用较低级别的录制框架 或者输出一个单独的窗口到外部显示器 ,而不是镜像 (我试过这个,它不工作)。 有没有其他方法可以解决这个问题,或者你知道这两种方法中的哪一种是已知的?

获取FLAC格式文件iPhone

我想logging声音,然后得到.flac格式的文件,我可以保存logging的声音作为flac? 如果是的话 – 怎么做? 我已经尝试过,但只有.caf可用..

循环缓冲录音iOS:可能吗?

我的一个客户想要不断地loggingaudio,当他点击提交时,他只想提交最后10秒。 所以他想要连续logging,只保留最后的x秒。 我想这需要像循环缓冲区,但(作为一个iOS的新手),它看起来像AVAudioRecorder只能写入文件。 我有什么select来实现这个? 任何人都可以给一个指针?

发送AVAudioRecorder到服务器iOS

我试图在过去的几天上传一个本地保存的soundelogging到一个服务器(它用php文件把它保存到服务器)。 问题是我找不到一个方法来做到这一点。 在录制声音(AVAudioRecorder)时,它保存在“NSTemporaryDirectory()”中: NSURL *temporaryRecFile = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"VoiceFile"]]]; 现在,我查到的答案是使用ASIHTTPRequest 。 但问题是,它不支持在iOS 6。 还有一些其他的库,但不pipe什么和我怎么尝试都没有什么作用。 如果有人能帮助我,我会喜欢它… 这是我的代码: ViewController.h #import <UIKit/UIKit.h> #import <AVFoundation/AVFoundation.h> #import <CoreAudio/CoreAudioTypes.h> @interface ViewController : UIViewController <AVAudioRecorderDelegate,AVAudioPlayerDelegate> { UIButton *recordButton; UIButton *playButton; UIButton *uploadFile; UILabel *recStateLabel; BOOL isNotRecording; NSURL *temporaryRecFile; AVAudioRecorder *recorder; AVAudioPlayer *player; } @property (nonatomic,retain) IBOutlet UIButton *uploadFile; @property (nonatomic,retain) IBOutlet […]

AVAudioSession Swift

我正在写一个快速的iOS应用程序,将logging用户的声音。 我在swift中编写了下面的代码,但它无法从用户请求话筒权限。 它打印的授权,但它从来没有loggingaudio,并在隐私设置窗格中不列出的应用程序。 如何在swift中请求录制权限? var session: AVAudioSession = AVAudioSession.sharedInstance() session.requestRecordPermission({(granted: Bool)-> Void in if granted { println(" granted") session.setCategory(AVAudioSessionCategoryPlayAndRecord, error: nil) session.setActive(true, error: nil) self.recorder.record() }else{ println("not granted") } })