das folgende Skript ist leider von der Umstellung auf mAirList 3.0 betroffen und klappt nicht mehr. Könntest du mir helfen? Ist ja nicht so unübersichtlich wie das Next-Skript…
[code]var
pi: IPlaylistItem;
begin
pi := Factory.CreatePlaylistItemFromFile(‘Pfad zur Datei’, true);
CurrentPlaybackControl.PlayItemDetached(pi, Engine.GetCartwallControl.GetPlayerControl(0).GetOutputDevice);
end.[/code]
Ähm… Geht im Moment nicht. Der Weg, wie man an die Soundkarten kommt, hat sich etwas geändert. Der neue Mechanismus ist aber noch nicht per Scripting verfügbar. Hole ich nach.
Ich erlaube mir mal vorsichtig, dieses Thema von der dritten Forenseite auf die erste zurück zu holen.
[Ich fand die Funktion sehr praktisch, um z.B. den Hintz-Triller mit dem Verkehrsoutro zu verknüpfen…]
In Version 3 sieht es etwas komplizierter aus, aber wenn man das Prinzip einmal verstanden hat, ist es ganz leicht:
var
pi: IFilePlaylistItem;
device: IAudioDevice;
begin
{
Create the playlist item, thereby read MMD and mAirList file tags.
Valid options for the second parameter are:
fitMMD, fitTags, fitNativeTags, fitDuration, fitTilde, fitAutoCue
}
pi := Factory.CreateFilePlaylistItem('F:\eldoradio\jingles\Ausgang_Closer.mp3', [fitMMD, fitTags]);
{
Determine the audio device on which the file is to be played.
In this example:
- ordinary player (ptOrdinaryPlayer)
- first playlist (0)
- first player (0)
- not for a specific region (-1)
- ordinary playback, not PFL (false)
}
device := Instance.GetDeviceConfig.BuildDevice(ptOrdinaryPlayer, 0, 0, -1, false);
// play the file
CurrentPlaybackControl.PlayItemDetached(pi, device);
end.
Das PlaylistItem wird wie gehabt über die Factory erzeugt, wobei man jetzt angeben kann, welche Informationen alle eingelesen werden sollen (MMD, Tag, Tilde, …).
Das AudioDevice erhält man über das neue “DeviceConfig”-Objekt. Dort ist zentral gespeichert, welche Soundkarte für welchen Player eingestellt ist, also im Prinzip genau das, was man jetzt im Konfigurationsprogramm auf der neuen “Audiogeräte”-Seite sieht. Mit der Methode “BuildDevice” kann man sich einen bestimmten Eintrag heraussuchen und das zugehörige IAudioDevice-Objekt erzeugen lassen. Dazu muss man fünf Parameter angeben:
Die Art des Players (ptOrdinaryPlayer = normaler Player, ptCartPlayer = Cartplayer, ptPFLPlayer = der Extra-PFL-Player, ptErrorCheck = die Soundkarte für die Fehlerüberprüfung)
Die Nummer der Playlist (nur bei normalen Playern, sonst -1)
Die Nummer des Players (bei ptPFLPlayer und ptErrorCheck immer -1)
Die Nummer der Region, oder -1 für die normale Wiedergabe
Ob PFL (true) oder normale Wiedergabe (false)
PlaylistItem und AudioDevice übergibt man dann wie gehabt an die PlayItemDetached-Funktion. Das PlaybackControl-Objekt kümmert sich um die Wiedergabe und auch darum, dass am Ende aller Speicher wieder freigegeben wird.