Hallo zusammen,
ich bin gerade dabei eine Erweiterung/Mod für das Spiel Arma 3 zu schreiben. Dabei benutze ich C# und die WMPLib Library.
Das Ziel ist es ein Internetradio im Spiel zu hören bzw. dies zu Simulieren.
Das ganze funktioniert soweit auch nur leider gibt es kleine Probleme mit dem Kontrollieren der Lautstärke.
Momentan wird sobald ich die Lautstärke einstelle die komplette Wiedergabe von dem Arma 3 Sound leiser.
Meine Frage ist nun, wie kann ich eine Art eigene Anwendung (sie Screenshot) nur für den WMP der den Stream abspielt aufrufen und Steuern ?
Hier mal was momentan passiert:
Und hier habt ihr mal meinen Code. Die DLL Datei wird über das Spiel aufgerufen und gibt nur einen String an die Anwendung. Ansonst ist sie unabhängig.
Es wäre super super geil wenn ihr mir helfen könntet ich bin so langsam am Verzweifeln
Liebe Grüße an alle
Pasi
*Topic verschoben*
ich bin gerade dabei eine Erweiterung/Mod für das Spiel Arma 3 zu schreiben. Dabei benutze ich C# und die WMPLib Library.
Das Ziel ist es ein Internetradio im Spiel zu hören bzw. dies zu Simulieren.
Das ganze funktioniert soweit auch nur leider gibt es kleine Probleme mit dem Kontrollieren der Lautstärke.
Momentan wird sobald ich die Lautstärke einstelle die komplette Wiedergabe von dem Arma 3 Sound leiser.
Meine Frage ist nun, wie kann ich eine Art eigene Anwendung (sie Screenshot) nur für den WMP der den Stream abspielt aufrufen und Steuern ?
Hier mal was momentan passiert:
Und hier habt ihr mal meinen Code. Die DLL Datei wird über das Spiel aufgerufen und gibt nur einen String an die Anwendung. Ansonst ist sie unabhängig.
C#-Quellcode
- public class DllEntry // This can be named anything you like
- {
- [DllExport("RVExtension", CallingConvention = System.Runtime.InteropServices.CallingConvention.Winapi)]
- public static void RVExtension(StringBuilder output, int outputSize, [MarshalAs(UnmanagedType.LPStr)] string function)
- {
- if (function.Contains("Volume"))
- {
- string removechars = function.Replace("Volume", "");
- int Volume = Int32.Parse(removechars);
- SoundControl.MusicVolume(Volume);
- }
- else
- {
- switch (function)
- {
- case "Play":
- SoundControl.PlayMusic();
- break;
- case "Stop":
- SoundControl.StopPlayMusic();
- break;
- default:
- break;
- }
- }
- }
- }
C#-Quellcode
- class SoundControl
- {
- public static WindowsMediaPlayer Player;
- public static bool isPlaying;
- public static void PlayMusic()
- {
- if (isPlaying == true)
- {
- StopPlayMusic();
- }
- Player = new WindowsMediaPlayer();
- Player.URL = "http://www.iloveradio.de/iloveradio.m3u";
- Player.controls.play();
- MusicVolume(1);
- isPlaying = true;
- }
- public static void StopPlayMusic()
- {
- Player.controls.stop();
- isPlaying = false;
- }
- public static void MusicVolume(int Volume)
- {
- Player.settings.volume = Volume;
- }
- }
Es wäre super super geil wenn ihr mir helfen könntet ich bin so langsam am Verzweifeln
Liebe Grüße an alle
Pasi
*Topic verschoben*
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()