You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

AudioRinging.java 1.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package model;
  7. import java.io.File;
  8. import java.util.logging.Level;
  9. import java.util.logging.Logger;
  10. import javax.sound.sampled.AudioFormat;
  11. import javax.sound.sampled.AudioInputStream;
  12. import javax.sound.sampled.AudioSystem;
  13. import javax.sound.sampled.Clip;
  14. import javax.sound.sampled.DataLine;
  15. import logger.OhmLogger;
  16. /**
  17. * https://docs.oracle.com/javase/tutorial/sound/playing.html
  18. *
  19. * @author Jan
  20. */
  21. public class AudioRinging
  22. {
  23. private AudioInputStream stream;
  24. private AudioFormat format;
  25. private DataLine.Info info;
  26. private Clip clip;
  27. private File audioFile;
  28. private static final Logger lgAudioRing = OhmLogger.getLogger();
  29. public AudioRinging()
  30. {
  31. //Normalerweise so da Betriebssystemunabhängig aber ka wo der Fehler ist
  32. //String file = (File.separator+"phone"+File.separator+"SoundDateien"+ File.separator+"RingingPhone.wav");
  33. audioFile = new File("C:\\Users\\Tim\\Desktop\\VoIP PA\\project\\VoIPProjekt\\src\\SoundDateien\\RingingPhone.wav");
  34. try
  35. {
  36. format = AudioSystem.getAudioInputStream(audioFile).getFormat();
  37. info = new DataLine.Info(Clip.class, format);
  38. }
  39. catch (Exception ex)
  40. {
  41. lgAudioRing.getLogger(SIPmodel.class.getName()).log(Level.SEVERE, null, ex);
  42. }
  43. }
  44. public void startRinging()
  45. {
  46. try
  47. {
  48. stream = AudioSystem.getAudioInputStream(audioFile);;
  49. clip = (Clip) AudioSystem.getLine(info);
  50. clip.open(stream);
  51. clip.start();
  52. }
  53. catch (Exception ex)
  54. {
  55. lgAudioRing.getLogger(SIPmodel.class.getName()).log(Level.SEVERE, null, ex);
  56. }
  57. }
  58. public void endRinging()
  59. {
  60. clip.stop();
  61. clip.close();
  62. }
  63. }