AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Internet/Radio-Stream wiedergeben
Thema durchsuchen
Ansicht
Themen-Optionen

Internet/Radio-Stream wiedergeben

Ein Thema von Tommy1988 · begonnen am 23. Apr 2007 · letzter Beitrag vom 8. Nov 2009
 
Tommy1988
(Gast)

n/a Beiträge
 
#1

Internet/Radio-Stream wiedergeben

  Alt 23. Apr 2007, 12:50
Hallo, wie kann ich, wenn ich eine URL habe, einen Stream den ich zuvor in ein Edit-Feld
eingegeben habe mit einer Delphi-Anwendung wiedergeben?

Wohl mit Bass und dem allen oder ?
Leider verstehe ich das nicht, kann mir wer ein Beispiel zeigen?

ist das hier vielleicht schon soetwas?

Delphi-Quellcode:
var

    URL_SaveFile : String;
    URL_FileStream : TFileStream;


procedure DownloadProc(buffer: Pointer; length: DWORD; user: DWORD); stdcall;
begin
  with AudioPlayer do
   begin
  if (URL_SaveFile = '') then
    exit;

  if (URL_FileStream = nil) then
      URL_FileStream:= TFileStream.Create(URL_SaveFile, fmCreate); // create the file
  if (buffer = nil) then
      URL_FileStream.Free // finished downloading
   else
      URL_FileStream.Write(buffer^, length);
end;
end;


function TAudioEngine.PlayURL(URL : String) : boolean;
var SngLen : Integer; Flags : DWORD;
begin
    Cur_FileName:= URL;
    BASS_MusicFree(Channel);
    BASS_StreamFree(Channel);
    URL_FileStream:= nil;

     Flags:= 0;
   if StrBlock then
      Flags:= BASS_STREAM_BLOCK;

    { (BASS_STREAM_BLOCK) Download and play the file in smaller chunks.
      Uses a lot less memory than otherwise,
      but it's not possible to seek or loop the stream - once it's ended,
      the file must be opened again to play it again.
      This flag will automatically be applied when the file length is unknown,
      for example with Shout/Icecast streams.
      This flag also has the effect of resticting the download rate.}


    Flags:= Flags or BASS_STREAM_META or BASS_STREAM_STATUS;

    Channel := THandle(BASS_StreamCreateURL(PChar(Cur_FileName), 0, Flags, @DOWNLOADPROC, 0));

    SngLen := 0;

   if (Channel = 0) then
       Result := False
    else
       Result := True;

   if not BASS_ChannelPlay(Channel, false) then
       Result := False;

   if (SngLen = 0) then
       SongLength := BASS_StreamGetLength(Channel);

    PlayerState := ENGINE_PLAY;
end;
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz