Tanne
Profil anzeigen
Private Nachricht
Link kopieren
Lesezeichen setzen
beschäftigt
dabei seit 2016
dabei seit 2016
Profil anzeigen
Private Nachricht
Link kopieren
Lesezeichen setzen
Computer neu erfinden!
28.04.2024 um 05:25@THX1138
Windoof hatte den Mediaplayer in 2-facher Ausführung seit Windoof 95.
Und, ja, du hast Recht, im Bezug auf Mediaplayer für Linux mussten Alternativen gefunden werden, da Linux weder mp3 noch 24bit aiff files abspielen konnte. Gibt noch einige Formate mehr, die Windoof abspielen konnte, Linux hingegen nicht, zumindest nicht ohne selbst eine mp3-Implementierung zu basteln.
Das sah dann ähnlich aus wie dieser (meiner) Code:
/******************************************************************************/
// M U S I C / S O U N D
// Music
protected void SetMusicOn(boolean isMusicOn)
{
this.isMusicOn = isMusicOn;
}
protected boolean IsMusicOn()
{
return isMusicOn;
}
private Clip SetMusic(String file)
{
try
{
url = getClass().getResource(file);
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(url);
BufferedInputStream bufferedInputStream = new BufferedInputStream(audioInputStream);
AudioFormat audioFormat = audioInputStream.getFormat();
int size = (int)(audioFormat.getFrameSize() * audioInputStream.getFrameLength());
byte[] audio = new byte;
DataLine.Info info = new DataLine.Info(Clip.class, audioFormat, size);
bufferedInputStream.read(audio, 0, size);
music = (Clip)AudioSystem.getLine(info);
music.open(audioFormat, audio, 0, size);
}
catch(NullPointerException | LineUnavailableException | IOException | UnsupportedAudioFileException ex)
{
error.GetError(ex, file);
}
return music;
}
protected void PlayMusic(String file)
{
if(isMusicOn)
{
SetMusic(file);
isMusicPlayed = true;
music.loop(LOOP_CONTINUOUSLY);
}
}
protected void StopMusic()
{
if(isMusicPlayed)
{
isMusicPlayed = false;
music.stop();
music.close();
}
}
// Sound
protected void SetSoundOn(boolean isSoundOn)
{
this.isSoundOn = isSoundOn;
}
protected boolean IsSoundOn()
{
return isSoundOn;
}
private Clip SetSound(String file)
{
try
{
url = getClass().getResource(file);
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(url);
BufferedInputStream bufferedInputStream = new BufferedInputStream(audioInputStream);
AudioFormat audioFormat = audioInputStream.getFormat();
int size = (int)(audioFormat.getFrameSize() * audioInputStream.getFrameLength());
byte[] audio = new byte;
DataLine.Info info = new DataLine.Info(Clip.class, audioFormat, size);
bufferedInputStream.read(audio, 0, size);
sound = (Clip)AudioSystem.getLine(info);
sound.open(audioFormat, audio, 0, size);
}
catch(NullPointerException | LineUnavailableException | IOException | UnsupportedAudioFileException ex)
{
error.GetError(ex, file);
}
return sound;
}
protected void PlaySound(String file)
{
if(isSoundOn)
{
SetSound(file);
isSoundPlayed = true;
sound.start();
}
}
protected void StopSound()
{
if(isSoundPlayed)
{
isSoundPlayed = false;
sound.stop();
sound.close();
}
}
/******************************************************************************/ round++;
nextRound = true;
uni.StopMusic();
player.SetImage(uni.GetImage(PLAYER));
player.SetAlive(true);
switch(round)
{
case 5:
case 10:
case 15:
boss.SetAlive(true);
break;
default:
uni.PlayMusic(LEVEL);
Windoof hatte den Mediaplayer in 2-facher Ausführung seit Windoof 95.
THX1138 schrieb:Das M$ jede Menge freie Software quasi geklaut hat ist bekannt;)Touchè, das ist korrekt, wenn auch ziemlich daneben gewesen. (von Maxischrott)
Und, ja, du hast Recht, im Bezug auf Mediaplayer für Linux mussten Alternativen gefunden werden, da Linux weder mp3 noch 24bit aiff files abspielen konnte. Gibt noch einige Formate mehr, die Windoof abspielen konnte, Linux hingegen nicht, zumindest nicht ohne selbst eine mp3-Implementierung zu basteln.
Das sah dann ähnlich aus wie dieser (meiner) Code:
/******************************************************************************/
// M U S I C / S O U N D
// Music
protected void SetMusicOn(boolean isMusicOn)
{
this.isMusicOn = isMusicOn;
}
protected boolean IsMusicOn()
{
return isMusicOn;
}
private Clip SetMusic(String file)
{
try
{
url = getClass().getResource(file);
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(url);
BufferedInputStream bufferedInputStream = new BufferedInputStream(audioInputStream);
AudioFormat audioFormat = audioInputStream.getFormat();
int size = (int)(audioFormat.getFrameSize() * audioInputStream.getFrameLength());
byte[] audio = new byte;
DataLine.Info info = new DataLine.Info(Clip.class, audioFormat, size);
bufferedInputStream.read(audio, 0, size);
music = (Clip)AudioSystem.getLine(info);
music.open(audioFormat, audio, 0, size);
}
catch(NullPointerException | LineUnavailableException | IOException | UnsupportedAudioFileException ex)
{
error.GetError(ex, file);
}
return music;
}
protected void PlayMusic(String file)
{
if(isMusicOn)
{
SetMusic(file);
isMusicPlayed = true;
music.loop(LOOP_CONTINUOUSLY);
}
}
protected void StopMusic()
{
if(isMusicPlayed)
{
isMusicPlayed = false;
music.stop();
music.close();
}
}
// Sound
protected void SetSoundOn(boolean isSoundOn)
{
this.isSoundOn = isSoundOn;
}
protected boolean IsSoundOn()
{
return isSoundOn;
}
private Clip SetSound(String file)
{
try
{
url = getClass().getResource(file);
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(url);
BufferedInputStream bufferedInputStream = new BufferedInputStream(audioInputStream);
AudioFormat audioFormat = audioInputStream.getFormat();
int size = (int)(audioFormat.getFrameSize() * audioInputStream.getFrameLength());
byte[] audio = new byte;
DataLine.Info info = new DataLine.Info(Clip.class, audioFormat, size);
bufferedInputStream.read(audio, 0, size);
sound = (Clip)AudioSystem.getLine(info);
sound.open(audioFormat, audio, 0, size);
}
catch(NullPointerException | LineUnavailableException | IOException | UnsupportedAudioFileException ex)
{
error.GetError(ex, file);
}
return sound;
}
protected void PlaySound(String file)
{
if(isSoundOn)
{
SetSound(file);
isSoundPlayed = true;
sound.start();
}
}
protected void StopSound()
{
if(isSoundPlayed)
{
isSoundPlayed = false;
sound.stop();
sound.close();
}
}
/******************************************************************************/ round++;
nextRound = true;
uni.StopMusic();
player.SetImage(uni.GetImage(PLAYER));
player.SetAlive(true);
switch(round)
{
case 5:
case 10:
case 15:
boss.SetAlive(true);
break;
default:
uni.PlayMusic(LEVEL);