app::audio: drop the old load_sound and load_music
[nit.git] / lib / android / audio.nit
index 649a95d..d1c50d4 100644 (file)
@@ -115,9 +115,10 @@ private extern class NativeMediaPlayer in "Java" `{ android.media.MediaPlayer `}
                }
        `}
 
-       fun create(context: NativeActivity, id: Int): NativeMediaPlayer in "Java" `{
+       new create(context: NativeActivity, id: Int): NativeMediaPlayer
+       in "Java" `{
                try {
-                       return self.create(context, (int)id);
+                       return MediaPlayer.create(context, (int)id);
                }catch(Exception e) {
                        return null;
                }
@@ -208,10 +209,11 @@ end
 # Used to play sound, best suited for sounds effects in apps or games
 class SoundPool
 
-       # Error gestion
+       # Latest error on this sound pool
        var error: nullable Error = null
 
        private var nsoundpool: NativeSoundPool is noinit
+
        # The maximum number of simultaneous streams for this SoundPool
        var max_streams = 10 is writable
 
@@ -366,8 +368,7 @@ class MediaPlayer
 
        # Init the mediaplayer with a sound resource id
        init from_id(context: NativeActivity, id: Int) do
-               self.nmedia_player = new NativeMediaPlayer
-               self.nmedia_player = nmedia_player.create(context, id)
+               self.nmedia_player = new NativeMediaPlayer.create(context, id)
                if self.nmedia_player.is_java_null then
                        self.error = new Error("Failed to create the MediaPlayer")
                        self.sound = new Music.priv_init(id, self, self.error)
@@ -387,7 +388,8 @@ class MediaPlayer
                        reset
                        destroy
                end
-               self.nmedia_player = self.nmedia_player.create(context, id)
+
+               self.nmedia_player = new NativeMediaPlayer.create(context, id)
                if self.nmedia_player.is_java_null then
                        self.error = new Error("Failed to load a sound")
                        self.sound = new Music.priv_init(id, self, new Error("Sound loading failed"))
@@ -656,30 +658,6 @@ redef class App
                App_native_activity(self).setVolumeControlStream(AudioManager.STREAM_MUSIC);
        `}
 
-       # Retrieves a sound with a soundpool in the `assets` folder using its name.
-       # Used to play short songs, can play multiple sounds simultaneously
-       redef fun load_sound(path) do
-               var fd = asset_manager.open_fd(path)
-               if not fd.is_java_null then
-                       return add_to_sounds(default_soundpool.load_asset_fd(fd)).as(Sound)
-               else
-                       var error = new Error("Failed to load Sound {path}")
-                       return new Sound.priv_init(null, -1, default_soundpool, error)
-               end
-       end
-
-       # Retrieves a music with a media player in the `assets` folder using its name.
-       # Used to play long sounds or musics, can't play multiple sounds simultaneously
-       redef fun load_music(path) do
-               var fd = asset_manager.open_fd(path)
-               if not fd.is_java_null then
-                       return add_to_sounds(default_mediaplayer.data_source_fd(fd)).as(Music)
-               else
-                       var error = new Error("Failed to load music {path}")
-                       return new Music.priv_init(null, default_mediaplayer, error)
-               end
-       end
-
        # Same as `load_sound` but load the sound from the `res/raw` folder
        fun load_sound_from_res(sound_name: String): Sound do
                return add_to_sounds(default_soundpool.load_name(resource_manager,self.native_activity, sound_name)).as(Sound)