Skip to content

Wave audio plays glitchy on Emscripten SDL2 (apple silicon) #386

Description

@h0111in

hi , I couldn't figure out what makes this code play the audio glitchy (like playing 44.1k file at 48k speed)
here is the code:

    `soloud = std::make_unique<SoLoud::Soloud>();
    sharedWav = std::make_unique<SoLoud::Wav>();

    soloud->init();
    cout << sharedWav->load("assets/music_48k.wav") << endl;
    
    auto handle = soloud->play(*sharedWav);`

later I added:
soloud->setVolume(handle, 0.2f); // or whatever level soloud->setSamplerate(handle, soloud->getBackendSamplerate()); soloud->setRelativePlaySpeed(handle, 48000.0f / 44100.0f); soloud->setVisualizationEnable(handle); // optional

my build command:

em++
/Users/sean/repos/tools/skia/src/ports/SkDebug_stdio.cpp
/Users/sean/repos/tools/soloud/src/core/*.cpp
/Users/sean/repos/tools/soloud/src/backend/sdl2_static/soloud_sdl2_static.cpp
/Users/sean/repos/tools/soloud/src/audiosource/wav/soloud_wav.cpp
/Users/sean/repos/tools/soloud/src/audiosource/wav/soloud_wavstream.cpp
/Users/sean/repos/tools/soloud/src/audiosource/wav/dr_impl.cpp
/Users/sean/repos/tools/soloud/src/c_api/soloud_c.cpp
/Users/sean/repos/tools/soloud/src/audiosource/wav/stb_vorbis.c
./src/main.cpp
-I/Users/sean/repos/tools/soloud/include
-I/Users/sean/repos/tools/vcpkg/installed/arm64-osx/include
-I./src/core
-I./src/components
-I/Users/sean/repos/tools/skia
-I/Users/sean/repos/tools/skia/include
-I/Users/sean/repos/tools/skia/include/core
-I/Users/sean/repos/tools/skia/include/config
-I/Users/sean/repos/tools/skia/include/gpu
-I/Users/sean/repos/tools/skia/include/effects
-I/Users/sean/repos/tools/skia/include/utils
-I/Users/sean/repos/tools/skia/include/private
-I/Users/sean/repos/tools/skia/include/pathops
-L/Users/sean/repos/tools/skia/out/wasm
-D WITH_SDL2_STATIC
-s USE_SDL=2
-s USE_SDL_TTF=2
-s USE_SDL_IMAGE=2
-s SDL2_IMAGE_FORMATS='[png]'
-s USE_WEBGL2=1
-s MIN_WEBGL_VERSION=2
-s MAX_WEBGL_VERSION=2
-s INITIAL_MEMORY=128MB
-s STACK_SIZE=524288
-s ALLOW_MEMORY_GROWTH=1
-s USE_SDL_GFX=2
-s FORCE_FILESYSTEM=1
-s DISABLE_EXCEPTION_CATCHING=0
-s EXPORTED_FUNCTIONS='["_malloc","_main"]'
-s EXPORTED_RUNTIME_METHODS='["ccall","cwrap"]'
-s MODULARIZE=1
-s EXPORT_ES6=1
-s ENVIRONMENT=web
-s FETCH=1
-s EXPORT_NAME='createModule'
-s MIN_SAFARI_VERSION=-1
--preload-file assets
--preload-file src/core/shaders
-O3
-flto
-Wl,--whole-archive -lskia -Wl,--no-whole-archive
-std=c++20
--bind
-o /Users/sean/repos/phoenix/src/assets/wasm/canvas.js

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions