我已经使用MFMailComposer发送由AVAudioRecorder创建的m4a文件,但我无法在我的mac上播放它。当我通过xcode管理器下载应用程序包时,我仍然无法播放原始m4a。有谁知道如何让m4a玩?我已经尝试通过核心音频(使用Dirac库)格式化我自己的m4a,但我仍然有相同的没有播放m4a问题。似乎AVAudioRecorder应该制作完美格式的文件,因为它们都在那里抽象,但似乎只有AVAudioRecorder才能理解格式(甚至itunes都不会读取它)。
这是我的邮件代码:
MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init];
mailer.mailComposeDelegate = self;
[mailer setSubject:@"Feedback"];
NSArray *toRecipients = [NSArray arrayWithObjects:@"info@x.com", nil];
[mailer setToRecipients:toRecipients];
NSArray *pathComponents = [NSArray arrayWithObjects:
[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject],
@"sound.m4a",
nil];
NSURL *urlfile = [NSURL fileURLWithPathComponents:pathComponents];
NSError* error = nil;
NSData* audioData = [NSData dataWithContentsOfURL:urlfile options:0 error:&error];
[mailer addAttachmentData:audioData mimeType:@"audio/mp4" fileName:@"sound.m4a"];
NSString *emailBody = @" ";
[mailer setMessageBody:emailBody isHTML:NO];
答案 0 :(得分:1)
请检查以下内容:
NSData* audioData = [NSData dataWithContentsOfURL:urlfile options:0 error:&error];
if(audioData.length)
然后只添加邮件。
路径网址文件可能存在问题。