Проигрывание аудио с J2ME

Вы можете использовать K.dot() напрямую. Поскольку вы уже используете K.l2_normalize, результатом умножения матриц является близость косинуса.

from keras.models import Model
import keras.backend as K
from keras.layers import Lambda,Input
import numpy as np

N = 100
def dot_similarity(jdes):
    jdes = K.l2_normalize(jdes, axis=-1) # (?, 100)
    # define it myself
    jt_six = K.constant(np.random.uniform(0, 1, size=(6, N)))
    jt_six = K.l2_normalize(K.variable(jt_six), axis=-1) # (6, 100)
    return K.dot(jdes,K.transpose(jt_six))

jdes = Input(shape=(N,))
result = Lambda(dot_similarity)(jdes)
model = Model(jdes,result)
print(model.summary())

_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
input_1 (InputLayer)         (None, 100)               0         
_________________________________________________________________
lambda_1 (Lambda)            (None, 6)                 0         
=================================================================
Total params: 0
Trainable params: 0
Non-trainable params: 0
_________________________________________________________________
5
задан gnat 13 October 2011 в 15:20
поделиться

4 ответа

Следующий код должен работать на 90-95% гарнитур там та поддержка JSR-135. Упорядочивание всех различных вызовов метода является ключевым, чтобы это было портативно. Это для звуков, локальных для Вашего JAR. Любое переданное потоком аудио было бы другой проблемой в целом :)

// loads the InputStream for the sound
InputStream inputStream = this.getClass().getResourceAsStream( musicFile );

// create the standard Player
musicPlayer = Manager.createPlayer( inputStream, musicEncoding );
musicPlayer.prefetch();

// add player listener to access sound events
musicPlayer.addPlayerListener( this );

if( loopMusic )
{    
    // use the loop count method for infinite looping
    musicPlayer.setLoopCount( -1 );
}

// The set occurs twice to prevent sound spikes at the very 
// beginning of the sound.
VolumeControl volumeControl = 
   (VolumeControl) musicPlayer.getControl( "VolumeControl" );
volumeControl.setLevel( curVolume );

// finally start the piece of music
musicPlayer.start();

// set the volume once more
volumeControl = (VolumeControl) musicPlayer.getControl( "VolumeControl" );
volumeControl.setLevel( curVolume );

// finally, delete the input stream to save on resources
inputStream.close();
inputStream = null;
7
ответ дан 14 December 2019 в 01:19
поделиться

Лучшим, что Вы имеете в виду? Высшее качество? Лучший пользовательский опыт? Самый совместимый стандартами?

В основном (это не лучший вид ответа, который я знаю), он зависит от платформы - что-то, что это - знакомая тема с J2ME - так как реализации могут значительно различаться, и MMAPI обычно усиливает некоторое собственное программное обеспечение/аппаратные средства медиаплеера. На BlackBerry MMAPI работает отлично с несколькими причудами.

Мой совет состоит в том, чтобы использовать MMAPI, где он работает хорошо - он даст Вам самое портативное приложение. Экспериментируйте или просмотрите платы разработчика для своего определенного набора целевого устройства, чтобы видеть, как хорошо он функционирует на гарнитурах, которые Вы хотите поддерживать.

3
ответ дан 14 December 2019 в 01:19
поделиться

На некоторых устройствах с помощью запроса платформы заставит приложение закрываться, и на других определенные запросы платформы разрушат устройство (что-либо кроме URL HTTP на некоторых устройствах).

Таким образом, Вы, возможно, должны использовать оба подхода, выбирая который использовать на основе тестирования устройства.

0
ответ дан 14 December 2019 в 01:19
поделиться

Локальное аудио (в файле Банки) легче поддерживать, как объяснено в ответе Shane выше. Для содержания по сети это становится намного более твердым, поскольку много факторов как проблемы возможности соединения сервера, память гарнитур и т.д. играет роль. Если Вы будете обязаны поддерживать большое количество гарнитур затем его желательное для работы над 2-3 методами реализации и использованием соответственно.

-1
ответ дан 14 December 2019 в 01:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: