选择ListPreference时播放声音

时间:2013-07-11 02:58:44

标签: java android audio listpreference

我设置了ListPreference,它有四个选项。我只是想知道在选择其中一个选项后是否可以播放声音?我想在从ListPreference中选择它之后制作能够使声音成为铃声的东西,并且我想在选择声音后播放声音样本。从ListPreference中选择选项后,我不希望从单击按钮播放声音。我希望在选择完成后立即打开PreferenceScreen时播放它。

1 个答案:

答案 0 :(得分:0)

也许你可以添加一个监听器,并在回调中读取类路径中的声音文件来播放它。我迅速将一个示例(使用Java7)一起攻击,以显示播放音频文件的示例,希望它有所帮助:

import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;

public class Main {

    public static void main(String args[]) {
        Clip clip;
        try {
            clip = AudioSystem.getClip();
            AudioInputStream inputStream = AudioSystem.getAudioInputStream(
                    Main.class.getResourceAsStream("Morse.aiff"));
            clip.open(inputStream);
            clip.start();
            // optionally, sleep the thread for the duration of the audio clip, 
            // or else you may not hear it
            Thread.sleep(5000); 
        } catch (LineUnavailableException | UnsupportedAudioFileException | IOException | InterruptedException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}