ПрограммированиеФорумЗвук

Bass Library (Java) - Как отключить зацикливание музыки?

#0
14:49, 6 окт 2020

Здравствуйте, уважаемые игроделы. Я просто целый месяц пытаюсь выкопать узнать. Как отключить зацикленность трека в BASS library? Как я понял нужно указать параметр в BASS_CreateFile(какието аттр) и там в конце поставить какуюто хрень (константу integer) чтоб не закицлен. Поставил - один фиг всё равно цикл музыки идет. Как отключить зацикленность плиз помогите? Я нервы все потрепал и напрасно 1 месяц((

  public boolean playFile() {
    String file = Game.dir.getAbsolutePath()+"\\"+ Game.songs[Game.selectedSong]+"\\music.mp3";
    stream = null; music = null;

    /*
    if(  (stream = BASS_StreamCreateFile(false, file, 0, 0, BASS_SAMPLE_LOOP)) == null
      && (music = BASS_MusicLoad(false, file, 0, 0, BASS_MUSIC_RAMP, 0)) == null) {
      System.out.println("Can't play file");
      return false; // Can't load the file
    }
*/
    //music = Bass.BASS_MusicLoad(false, file, 0, 0, BASS_MUSIC_RAMP, 0);
    
    if ((stream = BASS_StreamCreateFile(false, file, 0, 0, BASS_DATA_FLOAT)) == null
        && (music = BASS_MusicLoad(false, file, 0, 0, BASS_DATA_FLOAT, 0)) == null) System.out.println("");
    chan = (stream != null) ? stream.asInt() : ((music != null) ?  music.asInt() : 0);

  
    Bass.BASS_ChannelPlay(chan, true);

    gg = Bass.BASS_ChannelGetLevel(chan);
    System.out.println(gg);

    return true;
  }


p. s. просто документация этой bass library поражает своей подробностью, чекайте.

BASS_StreamCreateFile

public static HSTREAM BASS_StreamCreateFile(boolean mem,
                            java.lang.String file,
                            long offset,
                            long length,
                            int flags)

Тут ничего не объяснили за что отвечают эти аттрибуты, плюс нету даже примера. Просто в шоке с документации.

#1
15:03, 6 окт 2020

http://letmegooglethat.com/?q=BASS_StreamCreateFile
Изображение

https://github.com/JochenHeizmann/monkeybass/blob/master/examples/test.monkey
Изображение

Изображение
#2
15:17, 6 окт 2020

поправил сообщение

#3
15:18, 6 окт 2020

Salamandr
Нет, брат. Всё равно цикл идет(( У меня вот эти токо естть чето. Потестил все эти, не работает. Даже когда поставил 0 всё равно цикл.
Вот:
efefef | Bass Library (Java) - Как отключить зацикливание музыки?

#4
15:25, 6 окт 2020

Попробуйте другой порт.. (исходник)

#5
15:43, 6 окт 2020

Salamandr
какой порт?

#6
15:50, 6 окт 2020

Ну есть несколько версий на github, не просто версий, а реализаций (портов, форков).
вы пробовали другие брать примеры?
https://github.com/jerome-jouvie/NativeBass/tree/master/src-examp… bass/examples
На сколько вижу основная платная для коммерческого использования

+ Показать

Какую платформу вы используете?
Изображение

Давайте даже так, что именно вы хотите реализовать и на какой платформе? (и вопрос почему именно BASS наверное отпадёт сам собой, я просто не работал с ним).

Есть ещё вот туторы https://www.programmersought.com/article/39615402436/
я сейчас не могу этим заняться, но хороший вопрос без ответа тоже не хочется оставлять.

#7
16:07, 6 окт 2020

Salamandr
Язык: Java
IDE: Eclipse 2020

выбор пал на BASS Audio потому что нужно было реализовать экволайзер в игре. Таких эффектов невозможно добится без этой BASS Audio, или мне кажется? В данном видео присутствует визуализатор и двигается картинка как басс колонки именно благодаря этой библиотеке:

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

Как мне кажется, разработчики BASS Audio сфокусировались только на С++. А на остальных языках чисто как порт сделали, даже не сами сделали а абсолютно другие люди (той же Java). Поэтому документация именно на Javа ну просто СУПЕР сырая(( Я ели подключил эту херню, тоже пошли недели страданий как же подключить эту хрень

#8
18:00, 6 окт 2020

Ой забыл сказать, что вся это стоит в игровом цикле. То есть каждый раз вызывается BASS_ChannelPlay, и без этого не срабатывает. Я в этот момент уже в ступор пошел. Щас чето постараюсь замутить чтоб только 1 раз вызывался

#9
18:41, 6 окт 2020

а, ну тогда понятно.
Но если что, вот решение без bass правда для Android
https://github.com/wanliLiu/androidequalizer

и такое
https://sourceforge.net/projects/jeq/files/JEQ/

#10
19:26, 6 окт 2020

Salamandr
вау чел огромное спасибо. завтра буду тестить JEQ. Впервые слышу об этом. BASS Library слишком низкоуровневый. Сломал мозг просто. Надеюсь JEQ окажется более человеческим

ПрограммированиеФорумЗвук

Тема в архиве.