0

私はこのコードを持っています:

byte[] snap = ((VideoControl) player).getSnapshot("encoding=jpeg");

、カメラからスナップショットを取得します。さて、少し処理した後、正しい画像が生成されます。奇妙な点は、このコード行をデバッグすると、結果の画像が異なっていても、常に同じ値がフィールドに表示されることです。理由はありますか?

よろしくトリム

4

4 に答える 4

1

おそらく、ある程度の明確さが必要です...どの「フィールド」に「同じ値」があるのでしょうか。

そのバイト配列を取得して画像に変換するように聞こえます。次に、getSnapshotを再度呼び出すと、同じバイト配列を取得しますが、画像は異なりますか?

おそらくgetSnapshot(null)を試してください。

何かのようなもの:

        byte[] data = null;

        try {
            data = video.getSnapshot(null);
        } catch (MediaException ex) {
            ex.printStackTrace();
        }

        if(data != null)
        {
            img = Image.createImage(data, 0, data.length);
        }

どのように「デバッグ」していますか?エミュレータ?デバイス上?どのデバイスですか?

上記のコードは、K800iで機能します。

于 2010-02-19T15:08:39.840 に答える
0

getSnapshot()がVideoControlを返しますか?それを再確認してください。

于 2010-02-18T21:45:08.653 に答える
0

広範な検索の結果、私が間違っていることがわかりました。見当違いの質問をお詫び申し上げます。ただし、 encoding=jpeg を使用すると、これらの配列は実際にはごく一部だけ異なりますが、別のエンコーディングでは大幅に異なります。繰り返しますが、最初に難しい方法で確認しなかったため、この質問で申し訳ありません。

于 2010-02-19T15:11:18.663 に答える