2

URL から InputStream を読み取るサーブレットを実装しようとしています。入力ストリームのコンテンツ タイプは video/mp4 です。

ここで、mp4 ビデオを含むこの InputStream を iOS デバイスに提供したいと考えています。同様のタスクを実行する Bauke Scholtz の記事に従っています。ファイル オブジェクトからコンテンツを読み取ります。この記事に従い、シナリオを実装するためにいくつかの変更を加えました。

質問にさらに詳細を追加しています。

Bauke Scholtz のコードに小さな変更を加えて、自分のシナリオをテストしようとしました。私のサーブレットは、最初に使用して URL からコンテンツを読み取ります

URLConnection openConnection = url.openConnection();

次に、次のように彼の copy() 関数をオーバーライドします。

private static void copy(URLConnection openConnection, OutputStream output,
        long start, long length) throws IOException {
    InputStream input = openConnection.getInputStream();
    byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
    int read;

    if (openConnection.getContentLength() == length) {
        while ((read = input.read(buffer)) > 0) {
            output.write(buffer, 0, read);
        }
    } else {
        input.skip(start);
        long toRead = length;

        while ((read = input.read(buffer)) > 0) {
            if ((toRead -= read) > 0) {
                output.write(buffer, 0, read);
            } else {
                output.write(buffer, 0, (int) toRead + read);
                break;
            }
        }
    }
}

元のコピー機能の代わりにこのコピー機能を使用しました。

しかし、私は私の目標を達成することができません。同じような経験をされた方、解決策をご存知の方、ご意見をお聞かせください。

ありがとう、

バイバブ・グプタ。

PS 元の質問で提供された情報が少なかったことをお詫びします。私はstackoverflowに非常に慣れていないため、その文化に適応するには時間がかかり、学習する必要があります。

4

0 に答える 0