我有一个具有录制和播放功能的应用。这些工作正常。我也可以发送音频文件。
如果我在电脑上阅读电子邮件,我可以播放音频文件。
我可以在iDevice上阅读电子邮件,但是如果我尝试播放音频文件,我会看到像QT弹出片刻,但随后,消息会返回到屏幕。
如果我按住audiofile图标,我会得到一个可以使用的应用列表 - 但它们都是文档应用,而不是音频应用。
声音文件后缀为.caf(核心音频格式)。
我的音频文件是这样创建的:
NSMutableDictionary* recordSettings = [[NSMutableDictionary alloc] init];
[recordSettings setValue :[NSNumber numberWithInt:kAudioFormatAppleIMA4] forKey:AVFormatIDKey];
[recordSettings setValue :[NSNumber numberWithInt:16] forKey:AVEncoderBitRateKey];
[recordSettings setValue :[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey];
[recordSettings setValue :[NSNumber numberWithInt: 2] forKey:AVNumberOfChannelsKey];
NSError *error = nil;
audioRecorder = [[AVAudioRecorder alloc]
initWithURL:soundFileURL settings:recordSettings error:&error];
if (error)
{
NSLog(@"error: %@", [error localizedDescription]);
} else {
// ALL IS OK, START RECORDING
//NSLog(@"DetailVC - recordAudio - soundFilePath is %@", soundFile);
[audioRecorder prepareToRecord];
recordToggle = 1;
[autoCog startAnimating];
[audioRecorder record];
recordingTimer = [NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(recordingOn)
userInfo:nil
repeats:YES];
}
感谢您的任何建议。
答案 0 :(得分:2)
问题可能不在音频创建中,而在于如何将其附加到电子邮件中。您是否正确设置了MIME类型,以便邮件客户端知道如何读取数据?对于.caf
,您应该使用audio/x-caf
MIME类型。
答案 1 :(得分:1)
解决问题的代码是:
NSData *soundData = [NSData dataWithContentsOfFile:soundFile];
[mailer addAttachmentData:soundData mimeType:@"audio/mpeg" fileName:@"YourFile.mp3"];