add more stubs to make exoplayer not crash

This commit is contained in:
Julian Winkler
2023-09-21 22:49:36 +02:00
parent c830abc5f3
commit b88707592a
37 changed files with 482 additions and 47 deletions

View File

@@ -1,4 +1,19 @@
package android.media;
public class AudioAttributes {
public int getFlags() {return 0;}
public int getUsage() {return 0;}
public class Builder {
public Builder setUsage(int usage) {
return this;
}
public AudioAttributes build() {
return new AudioAttributes();
}
}
}

View File

@@ -32,4 +32,12 @@ public class AudioManager {
public int getStreamVolume(int streamType) {
return 0; // arbitrary, shouldn't matter too much?
}
public int getStreamMaxVolume(int streamType) {
return 100;
}
public int requestAudioFocus(OnAudioFocusChangeListener listener, int streamType, int durationHint) {
return /*AUDIOFOCUS_REQUEST_GRANTED*/1;
}
}

View File

@@ -12,6 +12,7 @@ public class AudioTrack {
int audioFormat;
int bufferSizeInBytes;
int mode;
private int sessionId;
// for native code's use
long pcm_handle;
@@ -45,6 +46,11 @@ public class AudioTrack {
native_constructor(streamType, sampleRateInHz, num_channels, audioFormat, bufferSizeInBytes, mode);
}
public AudioTrack(int streamType, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes, int mode, int sessionId) {
this(streamType, sampleRateInHz, channelConfig, audioFormat, bufferSizeInBytes, mode);
this.sessionId = sessionId;
}
public static native int getMinBufferSize(int sampleRateInHz, int channelConfig, int audioFormat);
public void setPlaybackPositionUpdateListener(OnPlaybackPositionUpdateListener listener) {
@@ -79,4 +85,8 @@ public class AudioTrack {
}
public native int write(byte[] audioData, int offsetInBytes, int sizeInBytes);
public int getAudioSessionId() {
return sessionId;
}
}

View File

@@ -0,0 +1,9 @@
package android.media;
public class MediaCodec {
public static final class CryptoInfo {}
public static final class BufferInfo {}
}

View File

@@ -0,0 +1,9 @@
package android.media;
public class MediaCodecList {
public static int getCodecCount() {
return 0;
}
}

View File

@@ -0,0 +1,30 @@
package android.media;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
public class MediaDescription {
public static class Builder {
public Builder setMediaId(String mediaId) {return this;}
public Builder setTitle(CharSequence title) {return this;}
public Builder setSubtitle(CharSequence subtitle) {return this;}
public Builder setDescription(CharSequence description) {return this;}
public Builder setIconBitmap(Bitmap iconBitmap) {return this;}
public Builder setIconUri(Uri iconUri) {return this;}
public Builder setExtras(Bundle extras) {return this;}
public MediaDescription build() {
return new MediaDescription();
}
}
}

View File

@@ -0,0 +1,16 @@
package android.media;
import android.os.Parcel;
import android.os.Parcelable.Creator;
public class MediaMetadata {
public static final Creator<MediaMetadata> CREATOR = new Creator<MediaMetadata>() {
@Override
public MediaMetadata createFromParcel(Parcel source) {
return new MediaMetadata();
}
};
public void writeToParcel(Parcel dest, int flags) {}
}

View File

@@ -0,0 +1,13 @@
package android.media.session;
import android.content.Context;
import android.media.MediaMetadata;
public class MediaController {
public MediaController(Context context, MediaSession.Token token) {}
public MediaMetadata getMetadata() {
return new MediaMetadata();
}
}

View File

@@ -0,0 +1,40 @@
package android.media.session;
import java.util.List;
import android.app.PendingIntent;
import android.content.Context;
import android.media.MediaDescription;
import android.media.MediaMetadata;
import android.os.Handler;
public class MediaSession {
public static final class Token {}
public static abstract class Callback {}
public static class QueueItem {
public QueueItem(MediaDescription description, long id) {}
}
public MediaSession(Context context, String tag) {}
public Token getSessionToken() {
return new Token();
}
public void setFlags(int flags) {}
public void setCallback(Callback callback, Handler handler) {}
public void setMediaButtonReceiver(PendingIntent pendingIntent) {}
public void setActive(boolean active) {}
public void setPlaybackState(PlaybackState state) {}
public void setMetadata(MediaMetadata metadata) {}
public void setQueue(List<QueueItem> queue) {}
}

View File

@@ -0,0 +1,23 @@
package android.media.session;
public class PlaybackState {
public class Builder {
public Builder setState(int state, long position, float playbackSpeed, long updateTime) {return this;}
public Builder setBufferedPosition(long bufferedPosition) {return this;}
public Builder setActions(long actions) {return this;}
public Builder setErrorMessage(CharSequence errorMessage) {return this;}
public Builder setActiveQueueItemId(long activeQueueItemId) {return this;}
public PlaybackState build() {
return new PlaybackState();
}
}
}