2014-09-09 2 views
1

내 응용 프로그램이 Documents Directory에 다운로드 된 비디오를 재생하도록하려고합니다.AVPlayer가 iOS8의 NSDocuments Directory에서 비디오를 재생할 수 없습니다.

내 코드는 iOS 7.1 시뮬레이터에서 테스트 할 때 작동하지만 iOS 8.0 디바이스 또는 iOS 8.0 시뮬레이터에서는 작동하지 않습니다. 오류가 없으면 AVPlayer가 비디오를 재생하지 않고 검은 색보기를 표시합니다.

또한 XCode의 Organizer를 사용하여 장치의 문서 폴더를 검사했는데 파일이 성공적으로 다운로드 된 것처럼 보입니다.

다음은 간단한 코드입니다.

// file_path is a string that stores the path to the video file a println of it shows 
// "/var/mobile/Containers/Data/Application/83C7837C-59B5-4767-A579-7CE758A93C6F/Documents/og4gr.mp4" 
var path:NSURL = NSURL.fileURLWithPath(file_path, isDirectory: false); 
_player = AVPlayer(URL: path); 

누구에게도이 문제가 발생 했습니까? 시간 내 주셔서 감사합니다!

+0

'playerWithURL' 또는'initWithURL'을 사용하여 코드를 볼 수 있습니까? 'AVPlayer '에'play'라고 부릅니까? 경로의 대/소문자 구분을 확인 했습니까? –

+0

안녕하세요! 귀하의 의견에 감사드립니다. 네, AVPlayer (URL : path)가 목표 c의 initWithURL과 같습니다. 대소 문자를 어떻게 확인해야하는지 잘 모르겠습니다. 당신은 정교 할 수 있습니까? – AnttyC

+0

iOS 시뮬레이터는 대소 문자를 구분하지 않는 파일과 경로를 사용하지만 장치는 대소 문자를 구분합니다. iOS 8 시뮬레이터에서 작동하지 않는다고 언급했으나 확인해 볼 가치가 있습니다. 그 외에도'error' 속성을 포함하고있는'AVPlayerItem'' _player.currentItem'을 확인해 보셨습니까? 당신은'NSLog'' AVPlayerItem' 속성을 검사 할 수 있고 그것들이 오류없이 모두 정확하다는 것을 확인하십시오. –

답변

2

그래서 응용 프로그램을 시작할 때마다 응용 프로그램 문서 폴더 경로가 변경되고 비디오 파일의 절대 경로가 저장되는 것이 문제였습니다.

여기에 따르면 : http://pinkstone.co.uk/where-is-the-documents-directory-for-the-ios-8-simulator/ 이것은 iOS 8에서 작동하는 방식입니다. 이것이 iOS7에서 작동하는 동안 iOS8 장치 및 시뮬레이터에서 작동하지 않는 이유입니다. 저를 올바른 방향으로 가리켜 주셔서 감사합니다 @ RoboticCat!