AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sounds gleichzeitig abspielen

Ein Thema von w4rheart · begonnen am 18. Dez 2010 · letzter Beitrag vom 11. Jan 2011
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#11

AW: Sounds gleichzeitig abspielen

  Alt 24. Dez 2010, 22:25
Sooo, Freunde der Sonne
Ich habe es immer noch nicht hingekriegt
Hi, mal eine dumme Frage, wieso nimmst Du nicht den MediaPlayer so wie lbccaleb es Dir vorgeschlagen hat. Da hast Du überhaupt keine Probleme und kannst so viele Sounds paralel abspielen wie Du möchtest und weniger Code hast Du auch?
Heike Kretschmann
Viele Grüße aus Bochum

kaum denkt man alles ist fertig, da fängt man wieder von Vorn an.
  Mit Zitat antworten Zitat
w4rheart

Registriert seit: 16. Mär 2010
53 Beiträge
 
#12

AW: Sounds gleichzeitig abspielen

  Alt 24. Dez 2010, 22:45
Nunja, es hat bei mir nicht geklappt.
Bzw. wenn ich sounds übereinander abspielen wollte, oder den gleichen sound mehrmals, brach der eine immer ab.

MfG
  Mit Zitat antworten Zitat
Benutzerbild von Daniel Schuhmann
Daniel Schuhmann

Registriert seit: 16. Jul 2005
Ort: München
391 Beiträge
 
Turbo Delphi für Win32
 
#13

AW: Sounds gleichzeitig abspielen

  Alt 24. Dez 2010, 22:53
Wie mache ich das am besten? Bass.dll würde ich am liebsten vermeiden.
Back to the roots. Wenn Du BASS verwenden willst, dann mach es doch einfach. Für jedes abzuspielende Ereignis einen eigenen Channel erstellen und schon laufen die Sounds parallel ohne Probleme.

Edit: Gibts hier ein Stroke-Out-Tag? Zu viel Weihnachten tut nicht gut. Verwenden und vermeiden klingt aber auch zu ähnlich. Naja. Mit Bass würde es jedenfalls trotzdem gehen
Daniel Schuhmann

Geändert von Daniel Schuhmann (24. Dez 2010 um 22:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#14

AW: Sounds gleichzeitig abspielen

  Alt 24. Dez 2010, 23:37
Ich würde das ganze so machen
Delphi-Quellcode:
var
MediaPlayer1: TMediaPlayer;
MediaPlayer2: TMediaPlayer;

MediaPlayer1 := TMediaPlayer.Create(Application);
MediaPlayer1.Parent := Self;
MediaPlayer2 := TMediaPlayer.Create(Application);
MediaPlayer2.Parent := Self;


MediaPlayer1.FileName := 'C:\Sound1.wav';
MediaPlayer1.Open;
MediaPlayer1.Play;


MediaPlayer2.FileName := 'C:\Sound2.wav';
MediaPlayer2.Open;
MediaPlayer2.Play;
Heike Kretschmann
Viele Grüße aus Bochum

kaum denkt man alles ist fertig, da fängt man wieder von Vorn an.

Geändert von smart (24. Dez 2010 um 23:50 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#15

AW: Sounds gleichzeitig abspielen

  Alt 24. Dez 2010, 23:43
Ich so: http://www.delphipraxis.net/1069276-post2.html
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#16

AW: Sounds gleichzeitig abspielen

  Alt 25. Dez 2010, 02:02
Der Mediaplayer kann als Komponente mehrfach ins Programm eingebunden werden und funktioniert parallel und unabhängig.
Bedingung ist: Ein Soundfile darf nur einmal geöffnet werden.
Soll es mehrmals gleichzeitig gespielt werden, muss es unter verschiedenen Namen mehrfach vorhanden sein.
Offensichtlich glaubt das keiner, deshalb hier ein Beispiel:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, MPlayer, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    MediaPlayer1: TMediaPlayer;
    MediaPlayer2: TMediaPlayer;
    MediaPlayer3: TMediaPlayer;
    MediaPlayer4: TMediaPlayer;
    MediaPlayer5: TMediaPlayer;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Mediaplayer1.Play;
Sleep(20);
Mediaplayer2.Play;
Sleep(20);
Mediaplayer3.Play;
Sleep(20);
Mediaplayer4.Play;
Sleep(20);
Mediaplayer5.Play;
end;

end.
Angehängte Dateien
Dateityp: zip _Multiplayer.zip (934,2 KB, 12x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#17

AW: Sounds gleichzeitig abspielen

  Alt 25. Dez 2010, 15:10
Der Nachteil vom MediaPlayer ist, das er bei dem öffnen einer Datei erst ein mal eine ganze Weile rumrödelt (irgend was sucht und oder vergleicht etc pp.).
Also eine "schöne" Lösung ist das nicht gerade.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#18

AW: Sounds gleichzeitig abspielen

  Alt 25. Dez 2010, 17:25
Das liegt nicht am Mediaplayer, sondern an der Vorschaufunktion des Explorers
(ausschalten: regsvr32 /u shmedia.dll) oder am Virenscanner (den kann man auch konfigurieren - immer nur meckern tun die Doofen...)
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#19

AW: Sounds gleichzeitig abspielen

  Alt 25. Dez 2010, 18:17
BloodyQuest benutzt openAL, den Code kannst du dir angucken und wenn du dort einen (Code-)Happen findest, der dir schmeckt, darfst du ihn behalten.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
w4rheart

Registriert seit: 16. Mär 2010
53 Beiträge
 
#20

AW: Sounds gleichzeitig abspielen

  Alt 31. Dez 2010, 00:45
Hallo nochmal!

Danke für den Link BUG, aber es klappt immer noch nicht.
Hab mir das Programm von BloodyQuest angeschaut und versucht es zu übernehmen, allerdings erhalte ich eine Fehlermeldung;
Invalid pointer operation in dieser Zeile:
Delphi-Quellcode:
procedure TSounds.loadFile(path, name: string);
var
  buffer: PBuffer;
  format: TALEnum;
  size: TALSizei;
  freq: TALSizei;
  loop: TALInt;
  data: TALVoid;
begin
  if not assigned(self) then exit;
  new(buffer);
  buffer^.name := name;
  AlGenBuffers(1, @buffer^.id);
  AlutLoadWavFile(path, format, data, size, freq, loop);
  AlBufferData(buffer^.id, format, data, size, freq);
  AlutUnloadWav(format, data, size, freq);
  FList.Add(buffer); // --> HIER!
end;
Ich habe Openal installiert und auch die OpenAl32.dll in das Verzeichnis kopiert, kein Erfolg.
Was könnte der Fehler sein?

MfG
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    


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 00:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz