iOS mp3 재생CoreMediaErrorDomain Code=-12939
1362 단어 iOS 오류
byte range length mismatch - should be length 16384 is length 82338
play error:Error Domain=NSURLErrorDomain Code=-1 " " UserInfo={NSLocalizedDescription= , NSUnderlyingError=0x283a26f70 {Error Domain=CoreMediaErrorDomain Code=-12939 "byte range length mismatch - should be length 16384 is length 82338" UserInfo={NSDescription=byte range length mismatch - should be length 16384 is length 82338, NSURL=https://xxx/xxx/xxx.mp3}}}
브라우저 디버깅을 통해 요청 정보를 보려면 다음과 같이 하십시오.
Response Headers:
Content-Length: 82338
이것만은 맞출 수 있지만 실제 작용은 없다
0x01 관련 코드
// mp3
AVPlayerItem *item = [[AVPlayerItem alloc] initWithURL:[NSURL URLWithString:url]];
//
[item addObserver:self forKeyPath:@"status"
options:(NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld)
context:nil];
//
[_player replaceCurrentItemWithPlayerItem:aa];
0x02 솔루션
끊임없는 디버깅, 디버깅, 디버깅... 해결 방안을 발견했습니다!
AVURLAsset
를 통해 리소스 재생성 요청AVPlayerItem
이전 오류 없이 재생이 가능하더라도 문제 해결AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:[NSURL URLWithString:url] options:nil];
AVPlayerItem *aa = [[AVPlayerItem alloc] initWithAsset:asset];
이렇게 됐어!
재미있는 하트 애니메이션
https://github.com/xjh093/JHLikeButton