Điều tương tự cũng xảy ra trong ứng dụng của tôi sử dụng AVAudioPlayer. Tôi đã thử với [NSURL URLWithString:path]
và phát hiện ra nó không mở được một số tập tin mp3. Tôi đã xem xét lỗi bằng một dòng như [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL URLWithString:path] fileTypeHint:AVFileTypeMPEGLayer3 error:&error]
, nhưng lỗi chỉ đơn giản là nil
Tuy nhiên, nó đã được giải quyết bằng cách thay thế url bằng [NSURL fileURLWithPath:path]
.
Trong cả hai trường hợp, đường dẫn path NSString * @"/var/mobile/Containers/Data/Application/4D96D4AE-2ED4-40B0-85D2-230E1AFA90E7/Documents/01-AudioTrack 01.mp3" 0x1457a8f0
Tôi vẫn không biết lý do nhưng bây giờ tôi nên cẩn thận khi sử dụng [NSURL URLWithString:]
.
PS. Trong tài liệu tham khảo NSURL, Apple đã nói như sau:
QUAN TRỌNG Để tạo đối tượng NSURL cho đường dẫn hệ thống tệp, hãy sử dụng fileURLWithPath: isDirectory: thay thế.
chỉ rõ rằng [NSURL fileURLWithPath:]
nên được sử dụng để mở tệp mặc dù [NSURL URLWithString]
cũng hoạt động đối với một số trường hợp.
"Ngoài ra tôi cần hiển thị khung hình cuối cùng làm hình ảnh tĩnh khi video HSL kết thúc" Không liên quan đến phần đầu tiên của câu hỏi của bạn. Hỏi nó như một câu hỏi khác! Mua một tặng một. – matt