3

私は J2ME アプリケーションに取り組んでいます。
Nokia 6131 NFC 電話を使用しています。NetBeans IDE を使用しています。
私には4つのフォームがあり、フォームに入力しているときにユーザーに通知音を鳴らしています。

問題は、サウンドが 3 ~ 4 分後に突然オフになることです。唯一の解決策は、アプリケーションを終了して再度開くことです。

マイコード

public void playSoundOK()
{
        try
        {
            InputStream is = getClass().getResourceAsStream("/OK.wav");
            Player player = Manager.createPlayer(is,"audio/X-wav");

            player.realize();
            player.prefetch();
            player.start();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }

例外

at com.nokia.mid.impl.isa.mmedia.audio.AudioOutImpl.openSession(AudioOutImpl.java:206)
at com.nokia.mid.impl.isa.mmedia.MediaOut.openDataSession(MediaOut.java:282)
at com.nokia.mid.impl.isa.mmedia.MediaPlayer.doPrefetch(MediaPlayer.java:155)
at com.nokia.mid.impl.isa.amms.audio.AdvancedSampledPlayer.doPrefetch(+4)
at com.nokia.mid.impl.isa.mmedia.BasicPlayer.prefetch(BasicPlayer.java:409)
at org.ird.epi.ui.UtilityClass.playSoundOK(UtilityClass.java:139)
at org.ird.epi.ui.EnrollmentForm.targetDetected(+695)
at javax.microedition.contactless.DiscoveryManager.notifyTargetListeners(DiscoveryManager.java : 700)
at javax.microedition.contactless.DiscoveryManager.access$1200(DiscoveryManager.java:103)
at javax.microedition.contactless.DiscoveryManager$Discoverer.notifyIndication(DiscoveryManager.java:882)
at com.nokia.mid.impl.isa.io.protocol.external.nfc.isi.NFCConnectionHandler$IndicationNotifier.run(+67) javax.microedition.media.MediaException: AUD
4

2 に答える 2

2

プレーヤーを閉じる必要があります。メソッドに次のコードを追加します。

    PlayerListener リスナー = 新しい PlayerListener() {
        public void playerUpdate(Player player, String event, Object eventData) {
            if (PlayerListener.END_OF_MEDIA.equals(イベント)) {
                player.close();
            }
        }
    };
    player.addPlayerListener(リスナー);

于 2012-06-06T12:40:14.707 に答える