Я использую следующий код для MediaPlayer
услуг. Но следующий сервис не работает. Тосты запускаются, но игрок не играет ни одной песни.
Метод onStart () устарел, поскольку я переопределяю его.
package com.example.user.stringremoval;
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
import android.support.annotation.Nullable;
import android.widget.Toast;
public class MyService extends Service {
MediaPlayer mediaPlayer;
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate()
{
Toast.makeText(this, "Service Created", Toast.LENGTH_SHORT).show();
mediaPlayer=MediaPlayer.create(this,R.raw.bet);
mediaPlayer.setVolume(50,50);
mediaPlayer.setLooping(false);
}
@Override
public void onStart(Intent intent,int startId)
{
Toast.makeText(this, "Service Started", Toast.LENGTH_SHORT).show();
mediaPlayer.start();
}
@Override
public void onDestroy()
{
Toast.makeText(this, "Service Destroyed", Toast.LENGTH_SHORT).show();
mediaPlayer.stop();
}
}
Error in Logcat:
06-27 12:47:03.175 3022-3022/com.example.user.stringremoval E/MediaPlayer-JNI: JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
Класс активности:
package com.example.user.stringremoval;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class AudioPlayer extends AppCompatActivity implements View.OnClickListener {
Button bn1,bn2,bn3;
Intent intent1=getIntent();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_audio_player);
bn1=(Button)findViewById(R.id.button3);
bn2=(Button)findViewById(R.id.button4);
bn3=(Button)findViewById(R.id.button5);
bn1.setOnClickListener(this);
bn2.setOnClickListener(this);
bn3.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId())
{
case R.id.button3:
startService(new Intent(this,MyService.class));
break;
case R.id.button4:
stopService(new Intent(this,MyService.class));
break;
case R.id.button5:
Intent intent=new Intent(this,MainActivity.class);
startActivity(intent);
}
}
}
Файл манифеста Android:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.user.stringremoval">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".AudioPlayer"></activity>
<service android:name=".MyService"
android:enabled="true"/>
</application>
</manifest>
Может кто-нибудь помочь мне решить эту проблему?