2015-02-28 20 views
5

Tôi đang sử dụng AVPlayer trong AVFoundation để phát video mp4 trong ứng dụng của mình. Chủ yếu là người chơi là ok. Nhưng hai ngày này tôi gặp một tập tin .mp4 mà người chơi không thể chơi. Nó cho thấy màn hình màu đen nhưng không có bất kỳ hình ảnh. Tôi rất bối rối. Đây là siêu dữ liệu của tệp .mp4.iOS: AVPlayer hiển thị màn hình đen và không thể phát một số video mp4

General 
Complete name     : E:\test.mp4 
Format       : MPEG-4 
Format profile     : Base Media 
Codec ID       : isom 
File size      : 28.2 MiB 
Duration       : 1mn 30s 
Overall bit rate     : 2 613 Kbps 
Encoded date      : UTC 2015-01-09 13:55:04 
Tagged date      : UTC 2015-01-09 13:55:04 

Video 
ID        : 1 
Format       : AVC 
Format/Info      : Advanced Video Codec 
Format profile     : [email protected] 
Format settings, CABAC   : Yes 
Format settings, ReFrames  : 1 frame 
Muxing mode      : Container [email protected] 
Codec ID       : avc1 
Codec ID/Info     : Advanced Video Coding 
Duration       : 1mn 27s 
Bit rate mode     : Variable 
Bit rate       : 2 675 Kbps 
Width       : 756 pixels 
Height       : 1 260 pixels 
Display aspect ratio    : 0.600 
Frame rate mode     : Variable 
Frame rate      : 54.536 fps 
Minimum frame rate    : 4.646 fps 
Maximum frame rate    : 148.515 fps 
Color space      : YUV 
Chroma subsampling    : 4:2:0 
Bit depth      : 8 bits 
Scan type      : Progressive 
Bits/(Pixel*Frame)    : 0.051 
Stream size      : 27.9 MiB (99%) 
Title       : VideoHandle 
Language       : English 
Encoded date      : UTC 2015-01-09 13:55:04 
Tagged date      : UTC 2015-01-09 13:55:04 

Audio 
ID        : 2 
Format       : AMR 
Format/Info      : Adaptive Multi-Rate 
Format profile     : Narrow band 
Codec ID       : samr 
Duration       : 1mn 30s 
Bit rate mode     : Constant 
Bit rate       : 12.8 Kbps 
Channel(s)      : 1 channel 
Sampling rate     : 8 000 Hz 
Bit depth      : 13 bits 
Stream size      : 141 KiB (0%) 
Title       : SoundHandle 
Writing library     :  
Language       : English 
Encoded date      : UTC 2015-01-09 13:55:04 
Tagged date      : UTC 2015-01-09 13:55:04 

Trả lời

1

Cuối cùng tôi đã tìm được giải pháp. Sau khi thiết lập videoCompostion của avplayerItem, nó hoạt động. Nội dung của videoComposition thực sự giống với video. Vì vậy, nó đang chơi thành phần xem trước trong bộ nhớ nhưng không phải là tệp video. Đó là một thủ thuật. Tuy nhiên tôi vẫn không biết lý do tại sao các avplayer cho thấy màn hình màu đen.

-1

Giống như phụ lục cho điều này, một lý do tại sao các tệp mp4 đôi khi không phát trong AVPlayer đi xuống một hộp kiểm.

Khi bạn kéo/thả để thêm tệp video vào dự án XCode của bạn, một bảng điều khiển thả xuống với một số tùy chọn. Một trong những tùy chọn đó là "Thêm vào mục tiêu:".

from XCode: dragging and dropping a video file

Với các file MOV bạn không cần phải kiểm tra hộp kiểm này. Với tất cả các định dạng tệp khác, bạn cần phải chọn hộp kiểm này. Vì vậy, có lẽ nếu bạn giống như tôi bạn dành, oh, một ngày hoặc lâu hơn, thăm dò vào AVAsset và vv cố gắng để tìm ra lý do tại sao các tập tin không có vẻ được tải.

Đó là câu trả lời. Hộp kiểm. Chỉ mp4 chứ không phải MOV.

Vì, Apple.

Các vấn đề liên quan