Перевод кода с Kotlin на Java

162
22 ноября 2021, 10:20

Имею код на Kotlin (Android Studio 3.5):

Class RadioPlayerActivity : AppCompatActivity() {
private lateinit var player: SimpleExoPlayer
private lateinit var mediaSource: MediaSource
private lateinit var dataSourceFactory: DefaultDataSourceFactory
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_radio_player)
    player = ExoPlayerFactory.newSimpleInstance(this)
    dataSourceFactory = DefaultDataSourceFactory(this, Util.getUserAgent(this, "OnAir"))
    mediaSource = ProgressiveMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse(RADIO_URL))
    with(player) {
        prepare(mediaSource)
        btnStart.setOnClickListener {
            playWhenReady = true
        }
        btnStop.setOnClickListener {
            playWhenReady = false
        }
    }
}
override fun onDestroy() {
    player.playWhenReady = false
    super.onDestroy()
}
companion object {
    const val RADIO_URL = "http://s1.radioheart.ru:8001/radiogomelfm"

Переписываю на Java (Android Studio 3.5):

public class RadioPlayerActivity extends AppCompatActivity {
private SimpleExoPlayer player;
private DefaultDataSourceFactory dataSourceFactory;
private MediaSource mediaSource;
private Boolean playWhenReady;
static String RADIO_URL = "http://s1.radioheart.ru:8001/radiogomelfm";
@Override
protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_radio_player);
    playWhenReady = false;

    player = ExoPlayerFactory.newSimpleInstance(this);
    dataSourceFactory = new DefaultDataSourceFactory(this, Util.getUserAgent(this, "OnAir"));
    mediaSource = new ProgressiveMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse(RADIO_URL));
}
public void OnStart(View view){
    player.prepare(mediaSource);
    playWhenReady = true;
}
public void OnStop(View view){
    playWhenReady = false;
}
}

В первом случае поток воспроизводится. В коде на Java - молчание. Что не так?

Answer 1

Переписал код в Java:

public void OnStart(View view) 
{ 
player.setPlayWhenReady(true); 
} 
public void OnStop(View view) 
{ 
player.setPlayWhenReady(false); 
}
READ ALSO
Не вижу html файлов

Не вижу html файлов

Недавно упала задача, кое-что поменять на сайтеНо я не могу найти html файлов

180
Изменение значения поля в строке таблицы через JS

Изменение значения поля в строке таблицы через JS

Прошу помочь советом, как написать очень небольшой скрипт на JS, который бы изменял значение поля "Дата создания детали" на целевое время (не реальное,...

251
Как сделать такие цифры?

Как сделать такие цифры?

Ссылка на картинку

140
Анимация рамки вокруг элемента

Анимация рамки вокруг элемента

Как отрисовать такую анимацию?

85