AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Mehrere Sounds ohne Unterbrechung parallel spielen
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrere Sounds ohne Unterbrechung parallel spielen

Ein Thema von ManuMF · begonnen am 11. Sep 2005 · letzter Beitrag vom 12. Sep 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#1

Mehrere Sounds ohne Unterbrechung parallel spielen

  Alt 11. Sep 2005, 14:56
Hallo,

in meinem aktuellen Projekt spiele ich mehrere Sounds kurz hintereinander ab. Der jeweils neue Sound unterbricht aber seinen "Vorgänger". Wie kann ich das einfach unterbinden?

Ach so, ich verwende natürlich PlaySound. Der Parameter SND_NOSTOP hat übrigens nichts genutzt, dann hat er zwar weitergespielt, aber die neuen Sounds kamen nicht.

Danke,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

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

Re: Mehrere Sounds ohne Unterbrechung parallel spielen

  Alt 11. Sep 2005, 15:54
Das wird nicht funktionieren da PlaySound und sndPlaySound nur einen Kanal zulassen und den Sound nicht mischen können.

Verwende die BASS.DLL oder FMod.dll damit kannst du Sounds auf mereren Channels ausgeben.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#3

Re: Mehrere Sounds ohne Unterbrechung parallel spielen

  Alt 11. Sep 2005, 16:31
Habe TBassDllPlayer eingebaut. Das funktioniert perfekt!
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#4

Re: Mehrere Sounds ohne Unterbrechung parallel spielen

  Alt 11. Sep 2005, 16:52
Zu früh gefreut!
Es hat sich nur so angehört. Wie kann ich denn mehrere Channles ansteuern?
Oder auch: Gibt es irgendwo eine Hilfe für Bass.dll?

Danke,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
DBR

Registriert seit: 19. Jul 2005
38 Beiträge
 
#5

Re: Mehrere Sounds ohne Unterbrechung parallel spielen

  Alt 11. Sep 2005, 17:16
Vielleicht versuchst du es mal so:

http://www.dbr-software.de/delphi/wavelapp.php

Gruß DBR
  Mit Zitat antworten Zitat
Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Mehrere Sounds ohne Unterbrechung parallel spielen

  Alt 11. Sep 2005, 17:26
Mit der TBassDllPlayer Komponente sollte das ohne weiteres möglich sein.

Einfach:

Delphi-Quellcode:
Player.addChannel(100); // 100 heißt volle Lautstärke
Player.Channel[X].LoadFromFile(...); //um den jeweils letzten Channel anzusprechen nimm: Player.ChannelCount-1
Player.Channel[X].Play;
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#7

Re: Mehrere Sounds ohne Unterbrechung parallel spielen

  Alt 11. Sep 2005, 18:02
@DBR: Das funktioniert
Aber gibt es da auch eine Lösung für Wiedergabe aus Ressourcen?

@Hador: Ich habe jetzt mal genau nachgelesen: TBassDllPlayer hat Einschränkungen. Channels fallen auch darunter. (Ich finde es trotzdem besser, als die Bass.Dll immer weitergeben zu müssen.)

Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

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

Re: Mehrere Sounds ohne Unterbrechung parallel spielen

  Alt 11. Sep 2005, 18:31
Zitat von Hador:
Mit der TBassDllPlayer Komponente sollte das ohne weiteres möglich sein.
Nein!

aber mit der BassPlayerEx

Einfach:

Zitat von Hador:
Delphi-Quellcode:
Player.addChannel(100); // 100 heißt volle Lautstärke
Player.Channel[X].LoadFromFile(...); //um den jeweils letzten Channel anzusprechen nimm: Player.ChannelCount-1
Player.Channel[X].Play;
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#9

Re: Mehrere Sounds ohne Unterbrechung parallel spielen

  Alt 11. Sep 2005, 19:14
Danke erst mal.

Ich ziehe die Lösung von DBR eher vor, die ist etwas einfacher.

Aber: Gibt es eine Möglichkeit, Ressourcen in eine Datei zu speichern?
Das wäre dafür nämlich nötig.

Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Mehrere Sounds ohne Unterbrechung parallel spielen

  Alt 11. Sep 2005, 20:48
Zitat von turboPASCAL:
aber mit der BassPlayerEx
Damn - Hab mich vertan. Is aber auch schon 'n bissl her, als ich mit der gearbeitet hab.

@ManuMF:

Zitat von Easy Delphi Helper:
Soundressourcen benutzen

Als erstes muss man eine Soundressource erstellen. Dazu legt man ein Script (*.RC) an, in dem die Sounddateien, die in die Ressource aufgenommen werden sollen, aufgeführt werden.

Beispiel:

1 WAVE "c:\eigenebla.wav"
2 WAVE "c:\eigeneblabla.wav"

Die erste Spalte gibt den Index der Datei an (unter dem sie später aufgerufen werden kann), die Zweite die Dateiart (WAVE-Datei) und die dritte die Datei.

Diese wird dann mit dem Ressourcencompiler von Borland (bei Delphi dabei!) BRCC32.EXE compiliert, indem man die BRCC32.EXE startet, und als Parameter die RC- Datei angibt.

Um dann die Waves aus der Ressource abspielen zu können, muss man sie noch einbinden:

Unter der Formulareinbindung ({$R *.DFM}) gibt man einfach seine Ressource an (Beispiel):

{$R Sounds.RES}

Dann das Abspielen:

uses mmsystem;

PlaySound(PChar(1),HInstance, snd_ASync or snd_Memory or snd_Resource);

Die 1 gibt an, welche Datei abgespielt werden soll, in diesem Fall die mit dem Index 1.
Wie du das in den von dir genutzten Code einbindest musst du mal gucken - (Wenn das möglich ist.)
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 15:23 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