load_wav con archivos .ogg en Android

Started by darío, June 12, 2016, 10:54:40 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

darío

Hay algún motivo que pueda explicar que no consiga reproducir sonidos en formato *.ogg con load_wav y play_wav en Android pero que sí que funcione en Windows y Linux? (quitando los típicos problemas de que la ruta esté bien especificada, etc.)?
My sites:
Smart Fpg Editor - Painless FPG Edition for Bennu and PixTudio
fenixlib - .NET support for manipulating PixTudio, Bennu and Div graphic formats


panreyes

Es gracioso, porque load_wav no debería cargar OGG xD

Abre una issue para que añada soporte para cargar OGG como sonido en Android :)

darío

Voy a ver si encuentro algo en el pixtudio pack, por lo que dice panreyes es normal que no me funcione...

Ahí dejo el issue:
https://bitbucket.org/josebagar/pixtudio/issues/56/load_wav-play_wav-ogg-file-support-in

Gracias en cualquier caso por vuestras respuestas
My sites:
Smart Fpg Editor - Painless FPG Edition for Bennu and PixTudio
fenixlib - .NET support for manipulating PixTudio, Bennu and Div graphic formats

darío

Así buscando entre los ejemplos no encontré nada que parezca cargar un archivo ogg con load_wav...


./examples/02_advance/borderpolice/borderpolice.prg:    wavs[i]=load_wav("wav/"+i+".wav");
./examples/02_advance/common-src/net_play.pr-:    unload_wav(wavs_ids[j]);
./examples/02_advance/common-src/net_play.pr-:    wavs_ids[j]=load_wav(resource_path);
./examples/02_advance/common-src/net_play.pr-:    unload_wav(wavs_ids[j]);
./examples/02_advance/common-src/net_play.pr-:Function net_load_wav(string mi_wav);
./examples/02_advance/common-src/net_play.pr-:    i=load_wav(mi_wav);
./examples/02_advance/common-src/net_play.pr-:Function net_unload_wav(int id_wav);
./examples/02_advance/common-src/net_play.pr-:    /*unload_wav(id_wav);
./examples/02_advance/common-src/net_play.pr-:    unload_wav(wavs_ids[id_wav]);
./examples/02_advance/pixfrogger2/client.prg:    wavs[i]=load_wav("wav/"+i+".wav");
./examples/02_advance/pixfrogger2/pixfrogger2.prg:    wavs[i]=load_wav("wav/"+i+".wav");
./examples/02_advance/bankpanic/bankpanic.prg:    sonidos[1]=load_wav("wav/1.wav");
./examples/02_advance/bankpanic/bankpanic.prg:    sonidos[2]=load_wav("wav/2.wav");
./examples/02_advance/bankpanic/bankpanic.prg:    sonidos[3]=load_wav("wav/3.wav");
./examples/02_advance/bankpanic/bankpanic.prg:    sonidos[4]=load_wav("wav/4.wav");
./examples/02_advance/inforgames/inforgames.prg:    wavs[i]=load_wav("wav/"+i+".wav");
./examples/02_advance/er3/er3.prg:    sonidos[i]=load_wav("wav/"+i+".wav");
./examples/02_advance/lionlive/lionlive.prg:    punch = net_load_wav ("wav/punch.wav");
./examples/02_advance/lionlive/lionlive.prg:    wintro = net_load_wav ("wav/intro.wav");
./examples/02_advance/lionlive/lionlive.prg:    wnoo = net_load_wav ("wav/noo.wav");
./examples/02_advance/lionlive/lionlive.prg:    splash = net_load_wav ("wav/splash.wav");
./examples/02_advance/lionlive/lionlive.prg:    just = net_load_wav ("wav/just.wav");
./examples/02_advance/lionlive/lionlive.prg:    nham = net_load_wav ("wav/nham.wav");
./examples/02_advance/lionlive/lionlive.prg:    groar = net_load_wav ("wav/groar.wav");
./examples/02_advance/lionlive/lionlive.prg:    hoo = net_load_wav ("wav/hoo.wav");
./examples/02_advance/SpiderPix/SpideyPix.prg:twiph=load_wav(".\Data\twiph.wav");
./examples/02_advance/SpiderPix/SpideyPix.prg:twiphb=load_wav(".\Data\twiphb.wav");
./examples/02_advance/pixbros/pixbros.prg:    wavs[i]=load_wav("wav/"+i+".wav");
./examples/02_advance/garnatron/garnatron.prg:    s_disparo=load_wav("wav/laser.wav"); frame;
./examples/02_advance/garnatron/garnatron.prg:    s_laser1=load_wav("wav/laser9.wav"); frame;
./examples/02_advance/garnatron/garnatron.prg:    s_laser2=load_wav("wav/onda01.wav"); frame;
./examples/02_advance/garnatron/garnatron.prg:    s_laser3=load_wav("wav/laser6.wav"); frame;
./examples/02_advance/garnatron/garnatron.prg:    s_misil=load_wav("wav/bomba5.wav"); frame;
./examples/02_advance/garnatron/garnatron.prg:    s_explosion=load_wav("wav/explos.wav"); frame;
./examples/02_advance/garnatron/garnatron.prg:    s_explosion_grande=load_wav("wav/explosg.wav"); frame;
./examples/02_advance/pixpang2.1/pixpang/pixpang.prg:    from flipando=0 to 16; s[flipando]=load_wav("wav/"+flipando+".wav"); end
./examples/02_advance/Mars2_source/logos.prg:    //sound1=load_wav("./snd/cut.wav");
./examples/02_advance/Mars2_source/logos.prg:    unload_wav(sound1);
./examples/02_advance/Mars2_source/logos.prg:    sound1=load_wav("./snd/pixel.wav");
./examples/02_advance/Mars2_source/logos.prg:    unload_wav(sound1);
./examples/02_advance/Mars2_source/scripts.prg:    snd_autopsia=load_wav("./snd/autopsia.wav");
./examples/02_advance/Mars2_source/scripts.prg:    sound1=load_wav("./snd/explosion_rocas.wav");
./examples/02_advance/Mars2_source/Mars2.prg:    snd_notifica=load_wav("./snd/notifica.wav");
./examples/02_advance/Mars2_source/Mars2.prg:    snd_puerta=load_wav("./snd/spacedoor.wav");
./examples/02_advance/Mars2_source/Mars2.prg:    snd_compuerta=load_wav("./snd/mechanical.wav");
./examples/02_advance/Mars2_source/Mars2.prg:    snd_key=load_wav("./snd/key.wav");
./examples/02_advance/Mars2_source/Mars2.prg:    snd_pasos=load_wav("./snd/pasos.wav");
./examples/02_advance/Mars2_source/Mars2.prg:    snd_martillo=load_wav("./snd/martillo.wav");

My sites:
Smart Fpg Editor - Painless FPG Edition for Bennu and PixTudio
fenixlib - .NET support for manipulating PixTudio, Bennu and Div graphic formats

SplinterGU

lo que veo bien es que hoy a panreyes todo le resulta gracioso! estas teniendo un buen dia parece! :D :)
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

darío

My sites:
Smart Fpg Editor - Painless FPG Edition for Bennu and PixTudio
fenixlib - .NET support for manipulating PixTudio, Bennu and Div graphic formats

darío

My sites:
Smart Fpg Editor - Painless FPG Edition for Bennu and PixTudio
fenixlib - .NET support for manipulating PixTudio, Bennu and Div graphic formats

josebita

mod_sound (tanto en BennuGD como en PixTudio) usa Mix_LoadWAV_RW. Su documentación dice:
QuoteLoad src for use as a sample. This can load WAVE, AIFF, RIFF, OGG, and VOC formats
Tengo que ver por qué funciona distinto en "sobremesa" que en Android, pero será por la forma en que está compilado.

darío

Gracias,

Mi solución por ahora (por si a alguien le sirve) ha sido definir unas macros:


#ifndef OGG_AS_WAV
    #define sound_load(X)    load_wav(X + ".ogg")
#else
    #define sound_load(X)    load_wav(X + ".wav")
#endif


Y hacer unas modificationes a mi makefile (el cual es bastante rudimentario ya que no soy precisamente un experto).


android-dcb: $(SrcFiles)
    $(CC) -D OGG_AS_WAV=1 -o $(Out)android/main.dcb $(Main)



ogg2wav: ./wav/*.ogg
    -mkdir $(Out)android
    -mkdir $(Out)android/wav
    for i in ./wav/*.ogg; do \
        if [ -e "$$i" ]; then \
            file=`basename "$$i" ".ogg"`; \
            ffmpeg -y -i "$$i" "$(Out)android/wav/$$file.wav";  \
        fi \
    done;


Me alegro en cualquier caso de haber encontrado un uso a la opción -D! (gracias Splinter por haberla introducido!)
My sites:
Smart Fpg Editor - Painless FPG Edition for Bennu and PixTudio
fenixlib - .NET support for manipulating PixTudio, Bennu and Div graphic formats

Drumpi

Yo recuerdo eso, que load_wav leía los mismos formatos que load_song. Quizás la diferencia es que load_song permitía hacer streaming y por eso sólo se permitía tener una canción en reproducción cada vez... y porque también admitía formatos tipo S3M, XM, MOD e IT que necesitaban varios canales de reproducción, en lugar de sólo uno como los play_wav.

O lo mismo me lo estoy inventando, vete tu a saber.

¿Por qué no ha empezado ya la conferencia de M$ en el E3?
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)