Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 25 269 561

  • Nb. de membres 187
  • Nb. d'articles 1 270
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  Création-Développement »» AHI besoin d'info complementaires

AHI besoin d'info complementaires #1497

5Contributeur(s)
sinisrusLioElwoodthellierzzd10h
3 Modérateur(s)
K-LElwoodcorto
sinisrus sinisrusicon_post
Salut,

J'essaye de comprendre un peu comment je peux utilisée AHI pour jouer des sons.

J'ai lu la doc qui ce trouve dans "SYS: Documentation/AHI/ahiusr.guide"
j'arrive à jouer un son en faisant :

Copy "ram:test.aiff" AUDIO:

par contre je ne sais pas comment faire pour stopper un son.

Et peut-on jouer plusieurs son en même temps et stopper l'un des sons.
--
Coin coin... amitheme.amiga-ng.org
Sam460 1,15Ghz - OS4.1FE - Radeon Saphir HD7750 R7 250E - 2Go de ram

Message édité par : Elwood / 16-03-2013 11:33
Lio Lioicon_post
avec un BREAK numéro de la tache ?
A1G4/Radeon9000PRO/1Go RAM; X5000/RadeonR7-250x/2Go RAM; AOS4.1FE
sinisrus sinisrusicon_post
ben non vu qu'il ajoute pas de tache
--
Coin coin... amitheme.amiga-ng.org
Sam460 1,15Ghz - OS4.1FE - Radeon Saphir HD7750 R7 250E - 2Go de ram
Elwood Elwoodicon_post
Sans faire de programmation, le seul moyen est d'utiliser un player de son que tu peux contrôler via AREXX. Par exemple avec Multiview, tu peux faire play/stop (façon de parler) en lançant Multiview avec l'argument "IMMEDIATE" et en l'arrêtant avec "Break name Multiview"
Peut-être qu'on peut utiliser Amigaamp et faire play/stop/pause.....via son port Arexx.
--
Philippe Ferrucci
Avec une Sam460 et AmigaOS 4.1, je suis eco-responsable. Cool !

Message édité par : Elwood / 17-03-2013 15:24
sinisrus sinisrusicon_post
elwood je cherche une solution legere en ressource. une library serai le top pour jouer/stopper des sons mais je n'ai rien trouver. c'est pour un script arexx.
--
Coin coin... amitheme.amiga-ng.org
Sam460 1,15Ghz - OS4.1FE - Radeon Saphir HD7750 R7 250E - 2Go de ram
thellier thelliericon_post
Hello

Pourquoi t'utilise pas le prog de zzd10h ?

http://www.os4depot.net/index.php?function=showfile&file=audio/play/datatype_sound_signal.lha

Je connais pas grand chose au son mais si il faut library-iser un bout de code (existant qui marche) je peut vous donner un coup de main

Alain
sinisrus sinisrusicon_post
Thellier : j'utilise déjà la commande datatype_sound elle est vraiment génial mais je pense qu'une library serait encore plus rapide est legère pour gérer les sons. Le top serait d'avoir une library pour jouer/stopper un ou plusieurs sons et de pouvoir avoir un ID par son pour pouvoir les gérer indépendamment.

Si tu peux donnée un coup de main pour faire cette lib ça serais super génial de ta part je t'en remercie d'avance. :-)

Dans un premier temps Keyrythme pourrait en profité puis d'autres projets :-)
--
Coin coin... amitheme.amiga-ng.org
Sam460 1,15Ghz - OS4.1FE - Radeon Saphir HD7750 R7 250E - 2Go de ram
thellier thelliericon_post
OK j'ai relu le source du datatype_sound et je réalise que c'est le meme problème que AmiDark cad:

Lancer un son mais revenir au programme principal
Pouvoir modifier ce son (arrêt,volume,....) tant qu'il se joue
Libérer tout (objet datatype) mais uniquement quand le son est fini

Bon si on bosse avec une .library on peut abandonner l'usage du MsgPort est être plus radical : comme la library est partagée alors elle peut servir à "transmettre" le message d'une manière ou d'un autre (pointeur,fonction,id...) à la limite on peut utiliser le nom-fichier du sample comme Id

DTS_load("toto.waw");
DTS_play("toto.waw",5,32); /* 5 fois au volume 32 */
DTS_volumechange("toto.waw",-10);
DTS_free("toto.waw");

ou plus classique

id=DTS_Load("toto.waw");
DTS_Play(id,5,32);
DTS_VolumeChange(id,-10);
DTS_Free(id);

Bien entendu la lib stocke une liste (partagée) des équivalences nomfichier<->id<->objdatatype)

Qu'en pensez vous ?


thellier thelliericon_post
voilà le fichier .sfd pour commencer la lib avec fdtrans et idltool


==id $Id: SoundDT_lib.sfd,v 1.0 2012/10/12 13:30:00 noname Exp $
==base _SoundDTBase
==basetype struct Library *
==libname SoundDT.library
==bias 30
==public
==!include!
APTR SDT_Load(UBYTE* filename) (a0)
ULONG SDT_Play(APTR id,ULONG replay,ULONG volume) (a0,d0,d1)
ULONG SDT_VolumeChange(APTR id,LONG volumechange) (a0,d0)
ULONG SDT_Free(APTR id) (a0)
==end
sinisrus sinisrusicon_post
Moi j'en pense que si ça marche ça me va :-)

Au faite tu pense pouvoir utilisé AHI ya pas mal d'avantage? (voir la doc pour plus d'info)

B=BITS/K/N,C=CHANNELS/K/N,F=FREQUENCY/K/N,T=TYPE/K,V=VOLUME/K/N,
P=POSITION/K/N,PRI=PRIORITY/K/N,L=LENGTH/K/N,S=SECONDS/K/N,
BUF=BUFFER/K/N,UNIT/K/N


Sinon j'aime bien:

DTS_load("toto.waw");
DTS_play("toto.waw",5,32); /* 5 fois au volume 32 */
DTS_volumechange("toto.waw",-10);
DTS_free("toto.waw");

C'est plus claire pour moi :-)

Message édité par : sinisrus / 18-03-2013 11:43
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme