2

ライブラリからのアセット、つまり: assets-library://asset/asset.mov?id=0399CB6D-D3D9-4F4C-82B9-AC93CCE2FB16&ext=mov

[UIVideoEditorController canEditVideoAtPath:videoPath]常に NO を返します

コンソールに次のエラーが表示されます。 <Warning>: Video assets-library://asset/asset.mov?id=0399CB6D-D3D9-4F4C-82B9-AC93CCE2FB16&ext=mov cannot be saved to the saved photos album: Error Domain=NSOSStatusErrorDomain Code=2 "This movie could not be played." UserInfo=0x6f7b90 {NSLocalizedDescription=This movie could not be played.}

ヘルプ?

4

2 に答える 2

3

どうやら でライブラリ アセットを編集する方法はありませんUIVideoEditControllerAVAssetWriterを使用してファイルをアプリサンドボックスにコピーすることになり、使用できましたUIVideoEditController

于 2012-07-11T15:03:15.437 に答える
2

ビデオトラックを正常に書き込むことができます。そのファイルをギャラリーに保存することもできます。ビデオは元のファイルと同じ品質で再生されますが、オーディオバッファをコピーできないため、ビデオは音声なしで再生されます。

しかし、最初にオーディオトラックを書き、次にビデオトラックを書き込もうとすると、ビデオバッファの書き込みは失敗します。つまり、BOOLが追加されます= [assetWriterInput appendSampleBuffer:buffer]; NOを返すことによって失敗します。

オーディオトラックの書き込み中にバッファが追加されます。次に、オーディオトラックのリーダーをキャンセルし、ビデオトラックの読み取りを開始します。ビデオバッファの追加に失敗します。両方の書き込みに対して、startSessionAtSourceTime:KCMTimeZeroを設定しています。

ビデオバッファのみを書き込むと、ビデオはオーディオなしで再生されます。

ギャラリー内にあるすべてのオーディオ+ビデオトラックを含む.MOVファイルをコピーできるようにしたいと思います。

** *目的:最後に、UIVideoEditorControllerを使用してコピーしたファイルを編集します。ギャラリー内のファイルを直接編集することはできません。したがって、最初にサンドボックス内にコピーしてから編集します。

于 2012-11-09T08:18:15.583 に答える