AVAudioPlayer 不从临时文件路径播放声音
AVAudioPlayer not playing sound from temp file path
我已将录音保存到我的 Temp 目录 并且可以使用 iExplorer
进行验证
文件路径结构为TempFolder/UserID/SoundName001.wav
我保存到数据库的位是 UserID/SoundName001.wav
这是我用来播放文件的代码
@property (nonatomic, strong) AVAudioPlayer *player;
-(void) playSound: (NSIndexPath*)recordingIndex {
NSArray *recording = [recordingArray objectAtIndex:recordingIndex.item-1];
NSString *filePath = [NSString stringWithFormat:@"%@%@",NSTemporaryDirectory(),[recording objectAtIndex:2]];
NSURL *recorderURL = [[NSURL alloc] initFileURLWithPath: filePath];
self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:recorderURL error:nil];
[self.player prepareToPlay];
[self.player setMeteringEnabled:YES];
[self.player setDelegate:self];
[self.player play];
}
我设置断点和recorderURL
returns下面file:///private/var/mobile/Containers/Data/Application/0883D0DC-B1FD-4D06-A7BB-EBD9EEF5D607/tmp/1/Dog001.wav
当我调用这个方法时,没有任何反应,没有崩溃,没有声音...
我在这里遗漏了什么明显的东西吗?
您检查设备上的静音开关了吗?我认为如果静音开关打开,AVPlayer 不会播放声音。尝试输入这行代码:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
在您的 viewDidLoad
或 [self.player play];
之前查看音频是否播放。
我已将录音保存到我的 Temp 目录 并且可以使用 iExplorer
进行验证文件路径结构为TempFolder/UserID/SoundName001.wav
我保存到数据库的位是 UserID/SoundName001.wav
这是我用来播放文件的代码
@property (nonatomic, strong) AVAudioPlayer *player;
-(void) playSound: (NSIndexPath*)recordingIndex {
NSArray *recording = [recordingArray objectAtIndex:recordingIndex.item-1];
NSString *filePath = [NSString stringWithFormat:@"%@%@",NSTemporaryDirectory(),[recording objectAtIndex:2]];
NSURL *recorderURL = [[NSURL alloc] initFileURLWithPath: filePath];
self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:recorderURL error:nil];
[self.player prepareToPlay];
[self.player setMeteringEnabled:YES];
[self.player setDelegate:self];
[self.player play];
}
我设置断点和recorderURL
returns下面file:///private/var/mobile/Containers/Data/Application/0883D0DC-B1FD-4D06-A7BB-EBD9EEF5D607/tmp/1/Dog001.wav
当我调用这个方法时,没有任何反应,没有崩溃,没有声音... 我在这里遗漏了什么明显的东西吗?
您检查设备上的静音开关了吗?我认为如果静音开关打开,AVPlayer 不会播放声音。尝试输入这行代码:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
在您的 viewDidLoad
或 [self.player play];
之前查看音频是否播放。