내 안드로이드 앱에서 사운드 풀을 사용하여 사운드 풀을 사용하려고합니다. 나는 소리를 내야하는 3 가지 활동을하고있다. 그래서 응용 프로그램이 시작될 때만 전역 적으로 소리를로드 할 수 있습니까 ?? 전역 클래스를 만들고 모든 사운드를 한 번로드 한 다음 다른 활동에서 사용할 수 있습니까?모든 활동에 사운드를 한 번로드하기
0
A
답변
0
당신은 예를 글로벌 클래스에서 오디오를로드 할 수 있습니다이 예
//start service
Intent svc=new Intent(this, BackgroundSoundService.class);
startService(svc);
//Add in manifest file
<service
android:enabled="true"
android:name="com.package.name.BackgroundSoundService" />
public class BackgroundSoundService extends Service {
private static final String TAG = null;
MediaPlayer player;
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
player = MediaPlayer.create(this, R.raw.idil);
player.setLooping(true); // Set looping
player.setVolume(100,100);
}
public int onStartCommand(Intent intent, int flags, int startId) {
player.start();
return 1;
}
public void onStart(Intent intent, int startId) {
// TO DO
}
public IBinder onUnBind(Intent arg0) {
// TO DO Auto-generated method
return null;
}
public void onStop() {
}
public void onPause() {
}
@Override
public void onDestroy() {
player.stop();
player.release();
}
@Override
public void onLowMemory() {
}
}
0
을 시도 할 수 있습니다. Thankfully android는 우리에게 Application.java라는 클래스를 제공하고 있습니다.
public class TestApp extends Application {
private static final String TAG = "TestApp";
private static TestApp sTestApp;
private MediaPlayer mMediaPlayer;
@Override
public void onCreate() {
super.onCreate();
sTestApp = this;
mMediaPlayer = MediaPlayer.create(this, R.raw.music);
mMediaPlayer.setVolume(1, 1); //Volume should have to be between 0.0 to 1.0
}
public static TestApp getInstance() {
return sTestApp;
}
public void play() {
mMediaPlayer.start();
}
}
그런 다음에 응용 프로그램 클래스로 선언하여 응용 프로그램이 완전히 파괴 한 후 응용 프로그램을 시작하고이 파괴 될 때
<application
android:name=".TestApp"
android:label="@string/app_name"
android:theme="@style/AppTheme">
.........
</application>
지금이 클래스가 자동으로 시작됩니다 매니페스트.
지금 당신은 당신이 원하는 목적지에서
TestApp.getInstance().play();
를 호출하여 오디오를 재생할 수 있습니다.
음악을 처리하기 위해 사용자 컨트롤러에 제공하지 않는 한 음악은 항상 배경 작업입니다. – sumandas