ビデオファイルのバイトを一度に1MBのチャンクとして読み取って、そのデータをバイトストリームに割り当てる必要があります。そして2回目にバイトを読み始めるときには前の実行の終点から始まり、1MBのバイトを読み込む必要があります。これはファイルの最後のバイトが読み取られるまで行わなければなりません。私は次のコードを使用してこれを試しましたが、このmemcpyメソッドは1MBのサイズを常にファイルの先頭から読み取るようにサポートされているようです。Objective-Cの特定の位置から特定の長さのバイトを読み取る
//original size value is 1024*1024
do{
if((index+size) > fileSize){
size = fileSize-index;
}
Byte *buff = (Byte*)malloc(size);
memcpy(buff, [data2 bytes], size);
//some logic goes here to pass the already read bytes
index+=size;
}while(index<fileSize);
誰でもこの操作を手伝ってもらえますか?私はObjective-CとCの関連言語が新しくなっています。 おかげ
「ファイルからの読み取り」操作は表示されていません。それはあなたが何をしているのかを知るのを難しくします。また、十分なコードが表示されていません。 indexやfileSizeがどのように初期化されるかはわかりません。また、示されたコードはメモリを恐ろしく漏らします。メモリを割り当てますが、決して解放しないでください。 'memcpy()'の '[data2 bytes]'表記はこれがObjective-Cであることを示すかもしれません。 (ストリームからデータを読み込むかもしれませんが、Objective-Cについてのコメントは十分にありませんが、 'data2'と' bytes'の定義がないと助けになりません)。 'do {} while()'ループに注意してください。 'while(){}'ループは通常より良いです。 –