Tôi đang sử dụng AVPlayer để phát nhạc mp3 âm thanh dài (8 phút), nhạc ngắn (1 đến 3 phút) phát hoàn hảo, nhưng với những bản nhạc lớn hơn, nhạc bắt đầu phát, nhưng sau khi phát một số số phút ngẫu nhiên (từ 2 đến 3:20), người chơi sẽ bắt đầu lại bài hát ngay từ đầu. Mặc dù trình phát khởi động lại nhạc, thông tin trạng thái (thời lượng và thời gian hiện tại) tiếp tục đếm bình thường, không khởi động lại, chỉ cần khởi động lại âm thanh. Ai đó có ý tưởng?AVPlayer không hoàn thành bài hát
Các tập tin tôi đang chơi là thế này: http://storage-new.newjamendo.com/download/track/57864/mp31/
Mã chơi:
AVAudioSession *mySession = [AVAudioSession sharedInstance];
// Assign the Playback category to the audio session.
NSError *audioSessionError = nil;
[mySession setCategory: AVAudioSessionCategoryPlayback
error: &audioSessionError];
if (audioSessionError != nil) {
NSLog (@"Error setting audio session category.");
return;
}
// Activate the audio session
[mySession setActive: YES
error: &audioSessionError];
if (audioSessionError != nil) {
NSLog (@"Error activating audio session during initial setup.");
return;
}
player = [AVPlayer playerWithURL:[NSURL URLWithString:url]];
[player play];
Và đây là cách để tôi theo dõi các thông tin về thời điểm hiện tại, mà giữ tính cách bình thường.
AVPlayerItem *item = player.currentItem;
CMTime duration = [item duration];
CMTime currentTime = [item currentTime];
nó có thể liên quan đến nguồn nhạc của bạn, tôi đang sử dụng AVplayer để phát nhạc soundcloud và tôi không gặp vấn đề gì –
@NicolasManzini Tôi đã thử với các trình phát tùy chỉnh khác trên internet (github) bằng cùng một bản nhạc nguồn và nó không xảy ra, chỉ với AVPlayer. –