Tag: audio

AVAssetWriterlogging设置不像AVAudioRecorder一样工作

我已成功使用这些录制设置来创build格式化为所需格式的audio。 但是,这些设置似乎只适用于AVAudioRecorder。 当我用AVAssetWriter尝试他们时,我得到一个错误,指出AVLinearPCMBitDepthKey需要AVLinearPCMBitFloatKey,但是当我添加它说它不允许'ulaw'。 我的问题是为什么AVLinearPCMBitDepthKey在一个logging器中工作正常,但不是另一个? [recordSettings setObject:[NSNumber numberWithInt: kAudioFormatULaw] forKey: AVFormatIDKey]; [recordSettings setObject:[NSNumber numberWithFloat:8000.0] forKey: AVSampleRateKey];//was 44100.0 [recordSettings setObject:[NSNumber numberWithInt:1] forKey:AVNumberOfChannelsKey]; [recordSettings setObject:[NSNumber numberWithInt:8000] forKey:AVEncoderBitRateKey];//was 64000 [recordSettings setObject:[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey]; [recordSettings setObject:[NSNumber numberWithInt: AVAudioQualityLow] forKey: AVEncoderAudioQualityKey];

核心audio:文件播放呈现callback函数

我用kAudioUnitProperty_ScheduledFileIDs在我的应用程序中使用RemoteIOaudio单元进行audio播放。 audio文件是PCM格式。 我怎样才能实现这种情况下的渲染callback函数,所以我可以手动修改缓冲区样本? 这是我的代码: static AudioComponentInstance audioUnit; AudioComponentDescription desc; desc.componentType = kAudioUnitType_Output; desc.componentSubType = kAudioUnitSubType_RemoteIO; desc.componentManufacturer = kAudioUnitManufacturer_Apple; desc.componentFlags = 0; desc.componentFlagsMask = 0; AudioComponent comp = AudioComponentFindNext(NULL, &desc); CheckError(AudioComponentInstanceNew(comp, &audioUnit), "error AudioComponentInstanceNew"); NSURL *playerFile = [[NSBundle mainBundle] URLForResource:@"short" withExtension:@"wav"]; AudioFileID audioFileID; CheckError(AudioFileOpenURL((__bridge CFURLRef)playerFile, kAudioFileReadPermission, 0, &audioFileID), "error AudioFileOpenURL"); // Determine file properties UInt64 packetCount; […]

强制iPhone通过耳机插孔读取数据

我正在做一个项目,要求iPhone通过耳机插孔接收数据。 我知道这是可行的,当我插入iPhone耳机时,它会自动将input从内置麦克风到外部麦克风(我在模拟器上运行代码)来logging数据。 但是,当我把耳机切断并连接到信号发生器时,似乎我的麦克风无法再检测到外部麦克风。 有谁知道如何手动设置耳机插孔作为iPhone的input? 我已经search了这个话题,像链接iPhone耳机插孔 – 读入数据? 和hiJack项目。 但似乎是,一旦插入耳机或其他连接线,手机会自动把耳机插孔作为input…所以我卡在这个问题上,任何人都可以帮忙吗? 非常感谢!

HTML5移动networking应用中的audio延迟

我正在开发一个使用HTML5和Javascript的移动networking应用程序。 目标是使用HTML5audio标签在触摸事件之后有一个播放声音的button。 但是,即使在audio文件被caching之后,我仍然注意到触摸事件和正在播放的声音之间存在显着的延迟。 我想这可能是由于iOS Safari处理声音的方式,但我不确定。 有什么解决scheme或创造性的解决方法来解决这个问题? 我怎样才能最小化触摸事件和播放之间的延迟?

用audio单元录制audio,每个文件分割为X秒

我已经在这几天了。 我不是很熟悉框架的audio单元层。 有人能指点我一个完整的例子,我怎么可以让用户logging,而不是写在x间隔数量的文件。 例如,用户每10秒钟logging一次,我想写入一个文件,11日秒,它会写入下一个文件,在21秒钟,这是一回事。 所以当我录制25秒的audio文件时,它会产生3个不同的文件。 我已经用AVCapture试过了,但是在中间产生了点击和popup。 我读过它,这是由于读取和写入操作之间的毫秒数。 我试过audio队列服务,但知道我正在处理的应用程序,我需要完全控制audio层。 所以我决定和Audio Unit一起去

在Swift 3中使用Audio Queue获取麦克风input

我正在开发一个应用程序,通过内置麦克风logging语音,并将其发送到服务器现场。 所以我需要在录制时从麦克风获取字节stream。 谷歌search和堆栈溢出了一段时间之后,我想我弄明白了它应该如何工作,但事实并非如此。 我认为使用audio队列可能是要走的路。 这是我到目前为止所尝试的: func test() { func callback(_ a :UnsafeMutableRawPointer?, _ b : AudioQueueRef, _ c :AudioQueueBufferRef, _ d :UnsafePointer<AudioTimeStamp>, _ e :UInt32, _ f :UnsafePointer<AudioStreamPacketDescription>?) { print("test") } var inputQueue: AudioQueueRef? = nil var aqData = AQRecorderState( mDataFormat: AudioStreamBasicDescription( mSampleRate: 16000, mFormatID: kAudioFormatLinearPCM, mFormatFlags: 0, mBytesPerPacket: 2, mFramesPerPacket: 1, // Must be […]

如何修剪或从iTunes库中裁剪音乐

我想从用户库中获取音乐音乐指法的音乐。 我所需要的只是每首歌曲的30秒。 我该怎么办呢? 我不需要保存audio,只是使用它。 iOSaudio修剪 用iOS修剪audio 上述2个环节的路要走吗? 感谢您阅读并赞赏任何评论。 干杯

GPU图像filter禁用iOS中的audio

我已经使用GPUImage框架实现了video文件pipe理器,并且应用了所有filter,但是如果使用filter播放video,audio将被禁用。 但是,如果我在mpmovieplayeraudio播放相同的电影url与video一起播放。 以下是我的代码: movieFile = [[GPUImageMovie alloc] initWithURL:self.videoURL]; movieFile.runBenchmark = YES; movieFile.playAtActualSpeed = YES; [movieFile addTarget:filter]; [filter setInputRotation:kGPUImageRotateRight atIndex:0]; GPUImageView *view = [[GPUImageView alloc] init]; view.tag = 529; view.frame = CGRectMake(0, 80, 768, 820); [filter addTarget:view]; [self.view addSubview:view]; NSString *pathToMovie = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Movie.m4v"]; unlink([pathToMovie UTF8String]); NSURL *movieURL = [NSURL fileURLWithPath:pathToMovie]; movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL […]

与Ionic1&ngCordova Native Audio插件一起循环播放audio

我正在制作一个声音的应用程序,我希望能够使用ionic1来循环播放声音。 我已经看到ngcordova本地audio插件是伟大的,但我无法使它的工作。 我只有windows.plugins模拟器的控制台中的未定义的错误(因为它是从我读过的)。 任何人都可以帮助我? 我已经看到了这个问题的其他线程,但本教程和这个SO 线程没有为我工作。 这里是我的代码: $ ionicPlatform.ready var app = angular.module('starter', ['ionic','ngStorage', 'ngCordova']); app.run(['$ionicPlatform', function($ionicPlatform) { $ionicPlatform.ready(function($cordovaNativeAudio) { if(window.cordova && window.cordova.plugins.Keyboard) { // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard // for form inputs) cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); // Don't remove this line unless you know what […]

在UILocalNotification声音设置录制的audio

我需要你的帮助。 其实问题是我想设置录制的audio文件(保存在应用程序文档目录中)作为本地通知的声音。 我search了很多,并得出结论,我们必须在本地通知中使用的声音文件必须在应用程序包中。 所以如果在运行时有关将应用程序包中的录制audio文件保存的想法也将完成我的任务