0

サーバーからオーディオコンテンツ(AAC)をストリーミングしようとしています。プレーヤーは問題なく起動し、しばらくするとOutOfMemoryErrorがスローされます。オーディオをバッファリングする必要があると思います。誰かが私にバッファリングを実装する(またはこのエラーを取り除く)ように案内してください。

これが私のコードです。

   `HttpConnection c = null; 
    InputStream is = null;
    try {
        c = (HttpConnection) Connector.open(streamURL, 
                Connector.READ_WRITE);
        int rc = c.getResponseCode(); 
        System.out.println("Response Code " + rc);

        if (rc != HttpConnection.HTTP_OK) {
            showAlert("Server error returned");

        } else {
            playerForm.append("openInputStream");
            is = c.openInputStream();
            player = Manager.createPlayer(is, "audio/aac");
            player.realize();

             // get volume control for player and set volume to max
            VolumeControl vc = (VolumeControl) player.getControl("VolumeControl");
            if(vc != null)
            {
              vc.setLevel(100);
            }


            player.prefetch();

            player.start();
        } 
    } catch (Exception f) {
        playerForm.append("Exception in player " + f.getMessage() + "\n");
    } finally { // Aufräumarbeiten ausführen
        if (is != null)
            try {
                is.close();                 
            } catch (IOException e) {
            }
        if (c != null)
            try {
                c.close();                  
            } catch (IOException e) {
            }
    }`

前もって感謝します。

よろしくアニッシュ。

4

1 に答える 1

3

catch の Exception の代わりに、Throwable クラスを使用するだけで、OutOfMemoryError が処理されます。

于 2013-02-04T07:04:42.843 に答える