2

以下の入力ストリームからビデオファイルを再生していますが、私の方法です:

public static String getDataSource(InputStream inputStream) throws IOException {
            InputStream stream = inputStream;
            if (stream == null)
                throw new RuntimeException("stream is null");
            File temp = File.createTempFile("mediaplayertmp", "dat");
            temp.deleteOnExit();
            String tempPath = temp.getAbsolutePath();
            FileOutputStream out = new FileOutputStream(temp);
            byte buf[] = new byte[128];
            do {
                int numread = stream.read(buf);
                if (numread <= 0)
                    break;
                out.write(buf, 0, numread);
            } while (true);
            try {
                stream.close();
                out.close();
            } catch (IOException ex) {
              //  Log.e(TAG, "error: " + ex.getMessage(), ex);
            }
            return tempPath;
          }

しかし、ボタンをクリックするとdelay of 3 to 4 seconds、ビデオファイルを再生することができます。なぜ誰か助けてもらえますか?

4

1 に答える 1

2

この遅延は、一時ファイルへのデータの書き込みによるものです。代わりに、ParcelFileDescriptor を使用して、一時ファイルへの書き込みを回避できます。 -android-without-writing-to-the-file-system ) を参照してください。

于 2013-07-20T14:02:54.467 に答える