は、私がここで私は次のコードでGIF画像を使用しています、アンドロイドのアプリケーションを開発していGif画像をサーフェスビューで使用しますか?
private static byte[] streamToBytes(InputStream is) {
ByteArrayOutputStream os = new ByteArrayOutputStream(1024);
byte[] buffer = new byte[1024];
int len;
try {
while ((len = is.read(buffer)) >= 0) {
os.write(buffer, 0, len);
}
} catch (java.io.IOException e) {
}
return os.toByteArray();
}
//クラス
is = this.context.getResources().openRawResource(R.drawable.fondo_juego_nexus);
if (DECODE_STREAM) {
System.out.println("in if DECODE_STREAM");
mMovie = Movie.decodeStream(is);
}
else {
byte[] array = streamToBytes(is);
System.out.println("in else DECODE_STREAM");
mMovie = Movie.decodeByteArray(array, 0, array.length);
}
// In On Draw
long now = android.os.SystemClock.uptimeMillis();
if (mMovieStart == 0) { // first time
mMovieStart = now;
}
if (mMovie != null) {
System.out.println("in if (mMovie != null) " + mMovie.duration());
int dur = mMovie.duration();
if (dur == 0)
{
dur = 1000;
System.out.println("in if movie if");
}
System.out.println("duration is "+ dur);
int relTime = (int)((now - mMovieStart) % dur);
mMovie.setTime(relTime);
System.out.println("in if displaying syd");
mMovie.draw(canvas,120,100);
}
のなどの活動からontouch I出口によってコンストラクタで私は上記の方法での活動を終了して、前の活動に戻り を行くと、活動WHに再び来る
else if(_y<=60 && _x<=60)
{
sp.play(mySound1, volume, volume, 0, 0, 1);
sp.release();
playr.stop();
tme.cancel();
act.finish();
}
富栄私はgifイメージを使用していますが、デバイスgalaxy s2、2.3.3では表示されませんが、2.2の同じサイズのエミュレータでは、これは問題ありません。
この方法に問題があります。 GIF画像は
私は私は私の問題の解決策を持って、このエラー