我有一个目录,其中有大约50个wav文件,我需要转换为caf,因为AudioServicesCreateSystemSoundID()为其中一些(但不是全部)返回错误.
以下是我成功用于单个文件的命令示例:
afconvert -f caff -d LEI16@44100 -c 1 whistle.wav whistle.caf
Run Code Online (Sandbox Code Playgroud)
如何快速完成此操作 - 不是每个文件一个接一个?
我正在使用AVAudioRecorder实例来记录设置为的AVFormatIDKey
设置kAudioFormatMPEG4AAC
.它以AAC格式记录音频,但.caf
音频容器打包音频文件.(我可以在录音机文件中看到caff标题).我如何记录,以便caff容器不存在,但采用纯m4a格式,以便我可以跨平台使用这些文件.
我正在为我的root手机写一个小型通话记录库.
我在某些应用程序中看到,录制是通过ALSA或CAF在root手机上完成的.
我找不到任何关于如何使用ALSA或CAF进行通话录音的示例/教程(甚至用于录音的录音).
我看到tinyAlsa lib项目,但我无法想象如何在Android应用程序中使用它.有人可以告诉我一些关于如何在Android应用程序中集成ALSA或CAF的教程或代码示例吗?
更新
我设法使用JNI调用包装tinyAlsa.但是,像mixer_open(0)这样的调用会返回空指针,而像pcm_open(...)之类的调用会返回一个指针,但是后续调用is_pcm_ready(pcm)总是返回false.
难道我做错了什么?我错过了什么吗?
我以.caf格式录制音频,稍后需要将其转换为.wav,以便将文件作为Dropbox上传.如何在iOS中将文件转换为wav格式?
我不想直接录制音频.wav格式
如何将.CAF转换为.WAV文件
是否从cumfib的每个元素开始评估fib?
fib = (1:1: zipWith (+) fib (tail fib))
cumfib = [ sum $ take i fib | i<-[1..]]
Run Code Online (Sandbox Code Playgroud)
或者是第一个i元素被缓存并重用于cumsum的元素(i + 1)?
我或多或少地猜测fib在同一个lambda表达式中使用,因此只计算一次.
此外,关于第i个Fibonacci数的评估频率的fib实现是否有效?我的实际问题涉及质数而不是斐波纳契数,我希望"缓存"以便轻松评估某些数字n的素数因子.但是,我只使用
takeWhile (\x-> x*x<n) primes
Run Code Online (Sandbox Code Playgroud)
素数.由于我首先评估小n的因子以及较大n的因子,这个素数子集增加了,因此我想知道,如果我这样做,素数的评估频率如何:
primes = ... some way of calculating primes ...
helpHandlePrimes ... = ... using primes ...
handlePrimes = ... using primes and helpHandlePrimes ...
Run Code Online (Sandbox Code Playgroud)
请让我知道素数是否评估一次,多次,或者是否无法根据我如何制定问题来确定.
我想将两个.wav录制文件组合在一起.任何人都可以帮我弄清楚如何实现这一点.我尝试组合数据,但标题正在产生问题.我们可以像我们一样组合波形文件进行组合.
这就是我在做联合收割机的方式,
NSMutableData *datas = [NSMutableData alloc];
NSData *data1 = [NSData dataWithContentsOfFile: [recordedTmpFile1 path]];
NSData *data2 = [NSData dataWithContentsOfFile: [recordedTmpFile2 path]];
NSLog(@"file1 size : %d", [data1 length]);
NSLog(@"file2 size : %d", [data2 length]);
[datas appendData:data1];
[datas appendData:data2];
NSLog(@"file3 size : %d", [datas length]);
NSURL *combinedPath = [NSURL alloc];
combinedPath = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:
[NSString stringWithFormat: @"1_20111215.%@",@"wav"]]];
[[NSFileManager defaultManager] createFileAtPath:[combinedPath path] contents:datas attributes:nil];
NSFileManager * fm = [NSFileManager defaultManager];
[fm removeItemAtPath:[recordedTmpFile2 path] error:nil];
Run Code Online (Sandbox Code Playgroud) 我想在我的iPhone App中合并两个.caf音频文件?
你能告诉我怎么样吗?
谢谢!
caf ×7
iphone ×4
audio ×2
objective-c ×2
wav ×2
aac ×1
afconvert ×1
alsa ×1
android ×1
avfoundation ×1
cocoa-touch ×1
command-line ×1
core-audio ×1
haskell ×1
ios ×1
m4a ×1
memoization ×1