У меня есть mp3-файлы в местном словаре. Я попытался воспроизвести эти файлы с помощью AVPlayer
, но это не сработает., играющий mp3-файл в iOS 9, не работает с использованием AVPlayer
.h файл:
#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
#import <CoreMedia/CoreMedia.h>
#import <AudioToolbox/AudioToolbox.h>
@interface IndusHomePageViewController : UIViewController
{
AVPlayer *player;
NSTimer *playbackTimer;
}
-(void) setupAVPlayerForURL: (NSURL*) url;
@end
.m файл:
NSString *docDir1 =[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *dataPathDestination = [docDir1 stringByAppendingPathComponent:@"mysore"];
NSString *myfilepath = [dataPathDestination stringByAppendingPathComponent:@"en_01_Mysore.mp3"];
NSURL *url = [NSURL URLWithString:myfilepath];
[self setupAVPlayerForURL:url];
-(void) setupAVPlayerForURL: (NSURL*) url
{
AVAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil];
AVPlayerItem *anItem = [AVPlayerItem playerItemWithAsset:asset];
player = [AVPlayer playerWithPlayerItem:anItem];
[player addObserver:self forKeyPath:@"status" options:0 context:nil];
}
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if (object == player && [keyPath isEqualToString:@"status"]) {
if (player.status == AVPlayerStatusFailed) {
NSLog(@"AVPlayer Failed");
} else if (player.status == AVPlayerStatusReadyToPlay) {
NSLog(@"AVPlayer Ready to Play");
} else if (player.status == AVPlayerItemStatusUnknown) {
NSLog(@"AVPlayer Unknown");
}
}
}
- (IBAction)play:(id)sender {
[player play];
}
- (IBAction)pause:(id)sender {
[player pause];
}
Первые строки или ваш фрагмент .m необходимо вызывать из метода, поэтому, я думаю, вы не публиковали все. Какова ошибка, с которой вы сталкиваетесь? –
Я не получал ошибок для этих. Когда я нажимаю кнопку воспроизведения, не работает –