Automated g4 rollback of changelist 184056034.
*** Reason for rollback *** Broke everything *** Original change description *** Clean up message naming in EPII *** ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184061352
@ -28,6 +28,7 @@ include modulePrefix + 'extension-ffmpeg'
|
||||
include modulePrefix + 'extension-flac'
|
||||
include modulePrefix + 'extension-gvr'
|
||||
include modulePrefix + 'extension-ima'
|
||||
include modulePrefix + 'extension-cast'
|
||||
include modulePrefix + 'extension-mediasession'
|
||||
include modulePrefix + 'extension-okhttp'
|
||||
include modulePrefix + 'extension-opus'
|
||||
@ -46,6 +47,7 @@ project(modulePrefix + 'extension-ffmpeg').projectDir = new File(rootDir, 'exten
|
||||
project(modulePrefix + 'extension-flac').projectDir = new File(rootDir, 'extensions/flac')
|
||||
project(modulePrefix + 'extension-gvr').projectDir = new File(rootDir, 'extensions/gvr')
|
||||
project(modulePrefix + 'extension-ima').projectDir = new File(rootDir, 'extensions/ima')
|
||||
project(modulePrefix + 'extension-cast').projectDir = new File(rootDir, 'extensions/cast')
|
||||
project(modulePrefix + 'extension-mediasession').projectDir = new File(rootDir, 'extensions/mediasession')
|
||||
project(modulePrefix + 'extension-okhttp').projectDir = new File(rootDir, 'extensions/okhttp')
|
||||
project(modulePrefix + 'extension-opus').projectDir = new File(rootDir, 'extensions/opus')
|
||||
|
6
demos/main/proguard-rules.txt
Normal file
@ -0,0 +1,6 @@
|
||||
# Proguard rules specific to the main demo app.
|
||||
|
||||
# Constructor accessed via reflection in PlayerActivity
|
||||
-keepclassmembers class com.google.android.exoplayer2.ext.ima.ImaAdsLoader {
|
||||
<init>(android.content.Context, android.net.Uri);
|
||||
}
|
6
demos/main/src/main/proguard-rules.txt
Normal file
@ -0,0 +1,6 @@
|
||||
# Proguard rules specific to the main demo app.
|
||||
|
||||
# Constructor accessed via reflection in PlayerActivity
|
||||
-keepclassmembers class com.google.android.exoplayer2.ext.ima.ImaAdsLoader {
|
||||
<init>(android.content.Context, android.net.Uri);
|
||||
}
|
6
extensions/ima/proguard-rules.txt
Normal file
@ -0,0 +1,6 @@
|
||||
# Proguard rules specific to the IMA extension.
|
||||
|
||||
-keep class com.google.ads.interactivemedia.** { *; }
|
||||
-keep interface com.google.ads.interactivemedia.** { *; }
|
||||
-keep class com.google.obf.** { *; }
|
||||
-keep interface com.google.obf.** { *; }
|
6
extensions/ima/src/main/proguard-rules.txt
Normal file
@ -0,0 +1,6 @@
|
||||
# Proguard rules specific to the IMA extension.
|
||||
|
||||
-keep class com.google.ads.interactivemedia.** { *; }
|
||||
-keep interface com.google.ads.interactivemedia.** { *; }
|
||||
-keep class com.google.obf.** { *; }
|
||||
-keep interface com.google.obf.** { *; }
|
25
library/core/proguard-rules.txt
Normal file
@ -0,0 +1,25 @@
|
||||
# Proguard rules specific to the core module.
|
||||
|
||||
# Constructors accessed via reflection in DefaultRenderersFactory
|
||||
-keepclassmembers class com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer {
|
||||
<init>(boolean, long, android.os.Handler, com.google.android.exoplayer2.video.VideoRendererEventListener, int);
|
||||
}
|
||||
-keepclassmembers class com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer {
|
||||
<init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioProcessor[]);
|
||||
}
|
||||
-keepclassmembers class com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer {
|
||||
<init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioProcessor[]);
|
||||
}
|
||||
-keepclassmembers class com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer {
|
||||
<init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioProcessor[]);
|
||||
}
|
||||
|
||||
# Constructors accessed via reflection in DefaultExtractorsFactory
|
||||
-keepclassmembers class com.google.android.exoplayer2.ext.flac.FlacExtractor {
|
||||
<init>();
|
||||
}
|
||||
|
||||
# Constructors accessed via reflection in DefaultDataSource
|
||||
-keepclassmembers class com.google.android.exoplayer2.ext.rtmp.RtmpDataSource {
|
||||
<init>();
|
||||
}
|
@ -72,10 +72,10 @@ import java.util.Collections;
|
||||
private static final int MSG_PERIOD_PREPARED = 9;
|
||||
private static final int MSG_SOURCE_CONTINUE_LOADING_REQUESTED = 10;
|
||||
private static final int MSG_TRACK_SELECTION_INVALIDATED = 11;
|
||||
private static final int MSG_SET_REPEAT_MODE = 12;
|
||||
private static final int MSG_SET_SHUFFLE_ENABLED = 13;
|
||||
private static final int MSG_SEND_MESSAGE = 14;
|
||||
private static final int MSG_SEND_MESSAGE_TO_TARGET_THREAD = 15;
|
||||
private static final int MSG_CUSTOM = 12;
|
||||
private static final int MSG_SET_REPEAT_MODE = 13;
|
||||
private static final int MSG_SET_SHUFFLE_ENABLED = 14;
|
||||
private static final int MSG_SEND_MESSAGE_TO_TARGET = 15;
|
||||
|
||||
private static final int PREPARING_SOURCE_INTERVAL_MS = 10;
|
||||
private static final int RENDERING_INTERVAL_MS = 10;
|
||||
@ -104,7 +104,7 @@ import java.util.Collections;
|
||||
private final boolean retainBackBufferFromKeyframe;
|
||||
private final DefaultMediaClock mediaClock;
|
||||
private final PlaybackInfoUpdate playbackInfoUpdate;
|
||||
private final ArrayList<PendingMessageInfo> pendingMessages;
|
||||
private final ArrayList<CustomMessageInfo> customMessageInfos;
|
||||
private final Clock clock;
|
||||
private final MediaPeriodQueue queue;
|
||||
|
||||
@ -123,7 +123,7 @@ import java.util.Collections;
|
||||
private int pendingPrepareCount;
|
||||
private SeekPosition pendingInitialSeekPosition;
|
||||
private long rendererPositionUs;
|
||||
private int nextPendingMessageIndex;
|
||||
private int nextCustomMessageInfoIndex;
|
||||
|
||||
public ExoPlayerImplInternal(
|
||||
Renderer[] renderers,
|
||||
@ -162,7 +162,7 @@ import java.util.Collections;
|
||||
rendererCapabilities[i] = renderers[i].getCapabilities();
|
||||
}
|
||||
mediaClock = new DefaultMediaClock(this, clock);
|
||||
pendingMessages = new ArrayList<>();
|
||||
customMessageInfos = new ArrayList<>();
|
||||
enabledRenderers = new Renderer[0];
|
||||
window = new Timeline.Window();
|
||||
period = new Timeline.Period();
|
||||
@ -217,7 +217,7 @@ import java.util.Collections;
|
||||
message.markAsProcessed(/* isDelivered= */ false);
|
||||
return;
|
||||
}
|
||||
handler.obtainMessage(MSG_SEND_MESSAGE, message).sendToTarget();
|
||||
handler.obtainMessage(MSG_CUSTOM, message).sendToTarget();
|
||||
}
|
||||
|
||||
public synchronized void release() {
|
||||
@ -324,11 +324,11 @@ import java.util.Collections;
|
||||
case MSG_TRACK_SELECTION_INVALIDATED:
|
||||
reselectTracksInternal();
|
||||
break;
|
||||
case MSG_SEND_MESSAGE:
|
||||
case MSG_CUSTOM:
|
||||
sendMessageInternal((PlayerMessage) msg.obj);
|
||||
break;
|
||||
case MSG_SEND_MESSAGE_TO_TARGET_THREAD:
|
||||
sendMessageToTargetThread((PlayerMessage) msg.obj);
|
||||
case MSG_SEND_MESSAGE_TO_TARGET:
|
||||
sendCustomMessageToTargetThread((PlayerMessage) msg.obj);
|
||||
break;
|
||||
case MSG_RELEASE:
|
||||
releaseInternal();
|
||||
@ -504,7 +504,7 @@ import java.util.Collections;
|
||||
} else {
|
||||
rendererPositionUs = mediaClock.syncAndGetPositionUs();
|
||||
periodPositionUs = playingPeriodHolder.toPeriodTime(rendererPositionUs);
|
||||
maybeTriggerPendingMessages(playbackInfo.positionUs, periodPositionUs);
|
||||
maybeTriggerCustomMessages(playbackInfo.positionUs, periodPositionUs);
|
||||
playbackInfo.positionUs = periodPositionUs;
|
||||
}
|
||||
|
||||
@ -805,11 +805,11 @@ import java.util.Collections;
|
||||
}
|
||||
if (resetState) {
|
||||
queue.setTimeline(null);
|
||||
for (PendingMessageInfo pendingMessageInfo : pendingMessages) {
|
||||
pendingMessageInfo.message.markAsProcessed(/* isDelivered= */ false);
|
||||
for (CustomMessageInfo customMessageInfo : customMessageInfos) {
|
||||
customMessageInfo.message.markAsProcessed(/* isDelivered= */ false);
|
||||
}
|
||||
pendingMessages.clear();
|
||||
nextPendingMessageIndex = 0;
|
||||
customMessageInfos.clear();
|
||||
nextCustomMessageInfoIndex = 0;
|
||||
}
|
||||
playbackInfo =
|
||||
new PlaybackInfo(
|
||||
@ -833,48 +833,48 @@ import java.util.Collections;
|
||||
private void sendMessageInternal(PlayerMessage message) {
|
||||
if (message.getPositionMs() == C.TIME_UNSET) {
|
||||
// If no delivery time is specified, trigger immediate message delivery.
|
||||
sendMessageToTarget(message);
|
||||
sendCustomMessageToTarget(message);
|
||||
} else if (playbackInfo.timeline == null) {
|
||||
// Still waiting for initial timeline to resolve position.
|
||||
pendingMessages.add(new PendingMessageInfo(message));
|
||||
customMessageInfos.add(new CustomMessageInfo(message));
|
||||
} else {
|
||||
PendingMessageInfo pendingMessageInfo = new PendingMessageInfo(message);
|
||||
if (resolvePendingMessagePosition(pendingMessageInfo)) {
|
||||
pendingMessages.add(pendingMessageInfo);
|
||||
CustomMessageInfo customMessageInfo = new CustomMessageInfo(message);
|
||||
if (resolveCustomMessagePosition(customMessageInfo)) {
|
||||
customMessageInfos.add(customMessageInfo);
|
||||
// Ensure new message is inserted according to playback order.
|
||||
Collections.sort(pendingMessages);
|
||||
Collections.sort(customMessageInfos);
|
||||
} else {
|
||||
message.markAsProcessed(/* isDelivered= */ false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void sendMessageToTarget(PlayerMessage message) {
|
||||
private void sendCustomMessageToTarget(PlayerMessage message) {
|
||||
if (message.getHandler().getLooper() == handler.getLooper()) {
|
||||
deliverMessage(message);
|
||||
deliverCustomMessage(message);
|
||||
if (playbackInfo.playbackState == Player.STATE_READY
|
||||
|| playbackInfo.playbackState == Player.STATE_BUFFERING) {
|
||||
// The message may have caused something to change that now requires us to do work.
|
||||
handler.sendEmptyMessage(MSG_DO_SOME_WORK);
|
||||
}
|
||||
} else {
|
||||
handler.obtainMessage(MSG_SEND_MESSAGE_TO_TARGET_THREAD, message).sendToTarget();
|
||||
handler.obtainMessage(MSG_SEND_MESSAGE_TO_TARGET, message).sendToTarget();
|
||||
}
|
||||
}
|
||||
|
||||
private void sendMessageToTargetThread(final PlayerMessage message) {
|
||||
private void sendCustomMessageToTargetThread(final PlayerMessage message) {
|
||||
message
|
||||
.getHandler()
|
||||
.post(
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
deliverMessage(message);
|
||||
deliverCustomMessage(message);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void deliverMessage(PlayerMessage message) {
|
||||
private void deliverCustomMessage(PlayerMessage message) {
|
||||
try {
|
||||
message.getTarget().handleMessage(message.getType(), message.getPayload());
|
||||
} catch (ExoPlaybackException e) {
|
||||
@ -884,48 +884,48 @@ import java.util.Collections;
|
||||
}
|
||||
}
|
||||
|
||||
private void resolvePendingMessagePositions() {
|
||||
for (int i = pendingMessages.size() - 1; i >= 0; i--) {
|
||||
if (!resolvePendingMessagePosition(pendingMessages.get(i))) {
|
||||
// Unable to resolve a new position for the message. Remove it.
|
||||
pendingMessages.get(i).message.markAsProcessed(/* isDelivered= */ false);
|
||||
pendingMessages.remove(i);
|
||||
private void resolveCustomMessagePositions() {
|
||||
for (int i = customMessageInfos.size() - 1; i >= 0; i--) {
|
||||
if (!resolveCustomMessagePosition(customMessageInfos.get(i))) {
|
||||
// Remove messages if new position can't be resolved.
|
||||
customMessageInfos.get(i).message.markAsProcessed(/* isDelivered= */ false);
|
||||
customMessageInfos.remove(i);
|
||||
}
|
||||
}
|
||||
// Re-sort messages by playback order.
|
||||
Collections.sort(pendingMessages);
|
||||
Collections.sort(customMessageInfos);
|
||||
}
|
||||
|
||||
private boolean resolvePendingMessagePosition(PendingMessageInfo pendingMessageInfo) {
|
||||
if (pendingMessageInfo.resolvedPeriodUid == null) {
|
||||
private boolean resolveCustomMessagePosition(CustomMessageInfo customMessageInfo) {
|
||||
if (customMessageInfo.resolvedPeriodUid == null) {
|
||||
// Position is still unresolved. Try to find window in current timeline.
|
||||
Pair<Integer, Long> periodPosition =
|
||||
resolveSeekPosition(
|
||||
new SeekPosition(
|
||||
pendingMessageInfo.message.getTimeline(),
|
||||
pendingMessageInfo.message.getWindowIndex(),
|
||||
C.msToUs(pendingMessageInfo.message.getPositionMs())),
|
||||
customMessageInfo.message.getTimeline(),
|
||||
customMessageInfo.message.getWindowIndex(),
|
||||
C.msToUs(customMessageInfo.message.getPositionMs())),
|
||||
/* trySubsequentPeriods= */ false);
|
||||
if (periodPosition == null) {
|
||||
return false;
|
||||
}
|
||||
pendingMessageInfo.setResolvedPosition(
|
||||
customMessageInfo.setResolvedPosition(
|
||||
periodPosition.first,
|
||||
periodPosition.second,
|
||||
playbackInfo.timeline.getPeriod(periodPosition.first, period, true).uid);
|
||||
} else {
|
||||
// Position has been resolved for a previous timeline. Try to find the updated period index.
|
||||
int index = playbackInfo.timeline.getIndexOfPeriod(pendingMessageInfo.resolvedPeriodUid);
|
||||
int index = playbackInfo.timeline.getIndexOfPeriod(customMessageInfo.resolvedPeriodUid);
|
||||
if (index == C.INDEX_UNSET) {
|
||||
return false;
|
||||
}
|
||||
pendingMessageInfo.resolvedPeriodIndex = index;
|
||||
customMessageInfo.resolvedPeriodIndex = index;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private void maybeTriggerPendingMessages(long oldPeriodPositionUs, long newPeriodPositionUs) {
|
||||
if (pendingMessages.isEmpty() || playbackInfo.periodId.isAd()) {
|
||||
private void maybeTriggerCustomMessages(long oldPeriodPositionUs, long newPeriodPositionUs) {
|
||||
if (customMessageInfos.isEmpty() || playbackInfo.periodId.isAd()) {
|
||||
return;
|
||||
}
|
||||
// If this is the first call from the start position, include oldPeriodPositionUs in potential
|
||||
@ -935,29 +935,33 @@ import java.util.Collections;
|
||||
}
|
||||
// Correct next index if necessary (e.g. after seeking, timeline changes, or new messages)
|
||||
int currentPeriodIndex = playbackInfo.periodId.periodIndex;
|
||||
PendingMessageInfo previousInfo =
|
||||
nextPendingMessageIndex > 0 ? pendingMessages.get(nextPendingMessageIndex - 1) : null;
|
||||
while (previousInfo != null
|
||||
&& (previousInfo.resolvedPeriodIndex > currentPeriodIndex
|
||||
|| (previousInfo.resolvedPeriodIndex == currentPeriodIndex
|
||||
&& previousInfo.resolvedPeriodTimeUs > oldPeriodPositionUs))) {
|
||||
nextPendingMessageIndex--;
|
||||
previousInfo =
|
||||
nextPendingMessageIndex > 0 ? pendingMessages.get(nextPendingMessageIndex - 1) : null;
|
||||
CustomMessageInfo prevInfo =
|
||||
nextCustomMessageInfoIndex > 0
|
||||
? customMessageInfos.get(nextCustomMessageInfoIndex - 1)
|
||||
: null;
|
||||
while (prevInfo != null
|
||||
&& (prevInfo.resolvedPeriodIndex > currentPeriodIndex
|
||||
|| (prevInfo.resolvedPeriodIndex == currentPeriodIndex
|
||||
&& prevInfo.resolvedPeriodTimeUs > oldPeriodPositionUs))) {
|
||||
nextCustomMessageInfoIndex--;
|
||||
prevInfo =
|
||||
nextCustomMessageInfoIndex > 0
|
||||
? customMessageInfos.get(nextCustomMessageInfoIndex - 1)
|
||||
: null;
|
||||
}
|
||||
PendingMessageInfo nextInfo =
|
||||
nextPendingMessageIndex < pendingMessages.size()
|
||||
? pendingMessages.get(nextPendingMessageIndex)
|
||||
CustomMessageInfo nextInfo =
|
||||
nextCustomMessageInfoIndex < customMessageInfos.size()
|
||||
? customMessageInfos.get(nextCustomMessageInfoIndex)
|
||||
: null;
|
||||
while (nextInfo != null
|
||||
&& nextInfo.resolvedPeriodUid != null
|
||||
&& (nextInfo.resolvedPeriodIndex < currentPeriodIndex
|
||||
|| (nextInfo.resolvedPeriodIndex == currentPeriodIndex
|
||||
&& nextInfo.resolvedPeriodTimeUs <= oldPeriodPositionUs))) {
|
||||
nextPendingMessageIndex++;
|
||||
nextCustomMessageInfoIndex++;
|
||||
nextInfo =
|
||||
nextPendingMessageIndex < pendingMessages.size()
|
||||
? pendingMessages.get(nextPendingMessageIndex)
|
||||
nextCustomMessageInfoIndex < customMessageInfos.size()
|
||||
? customMessageInfos.get(nextCustomMessageInfoIndex)
|
||||
: null;
|
||||
}
|
||||
// Check if any message falls within the covered time span.
|
||||
@ -966,15 +970,15 @@ import java.util.Collections;
|
||||
&& nextInfo.resolvedPeriodIndex == currentPeriodIndex
|
||||
&& nextInfo.resolvedPeriodTimeUs > oldPeriodPositionUs
|
||||
&& nextInfo.resolvedPeriodTimeUs <= newPeriodPositionUs) {
|
||||
sendMessageToTarget(nextInfo.message);
|
||||
sendCustomMessageToTarget(nextInfo.message);
|
||||
if (nextInfo.message.getDeleteAfterDelivery()) {
|
||||
pendingMessages.remove(nextPendingMessageIndex);
|
||||
customMessageInfos.remove(nextCustomMessageInfoIndex);
|
||||
} else {
|
||||
nextPendingMessageIndex++;
|
||||
nextCustomMessageInfoIndex++;
|
||||
}
|
||||
nextInfo =
|
||||
nextPendingMessageIndex < pendingMessages.size()
|
||||
? pendingMessages.get(nextPendingMessageIndex)
|
||||
nextCustomMessageInfoIndex < customMessageInfos.size()
|
||||
? customMessageInfos.get(nextCustomMessageInfoIndex)
|
||||
: null;
|
||||
}
|
||||
}
|
||||
@ -1153,7 +1157,7 @@ import java.util.Collections;
|
||||
Object manifest = sourceRefreshInfo.manifest;
|
||||
queue.setTimeline(timeline);
|
||||
playbackInfo = playbackInfo.copyWithTimeline(timeline, manifest);
|
||||
resolvePendingMessagePositions();
|
||||
resolveCustomMessagePositions();
|
||||
|
||||
if (oldTimeline == null) {
|
||||
playbackInfoUpdate.incrementPendingOperationAcks(pendingPrepareCount);
|
||||
@ -1685,7 +1689,7 @@ import java.util.Collections;
|
||||
}
|
||||
}
|
||||
|
||||
private static final class PendingMessageInfo implements Comparable<PendingMessageInfo> {
|
||||
private static final class CustomMessageInfo implements Comparable<CustomMessageInfo> {
|
||||
|
||||
public final PlayerMessage message;
|
||||
|
||||
@ -1693,7 +1697,7 @@ import java.util.Collections;
|
||||
public long resolvedPeriodTimeUs;
|
||||
public @Nullable Object resolvedPeriodUid;
|
||||
|
||||
public PendingMessageInfo(PlayerMessage message) {
|
||||
public CustomMessageInfo(PlayerMessage message) {
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
@ -1704,9 +1708,9 @@ import java.util.Collections;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(@NonNull PendingMessageInfo other) {
|
||||
public int compareTo(@NonNull CustomMessageInfo other) {
|
||||
if ((resolvedPeriodUid == null) != (other.resolvedPeriodUid == null)) {
|
||||
// PendingMessageInfos with a resolved period position are always smaller.
|
||||
// CustomMessageInfos with a resolved period position are always smaller.
|
||||
return resolvedPeriodUid != null ? -1 : 1;
|
||||
}
|
||||
if (resolvedPeriodUid == null) {
|
||||
|
@ -224,7 +224,6 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
||||
private long codecHotswapDeadlineMs;
|
||||
private int inputIndex;
|
||||
private int outputIndex;
|
||||
private ByteBuffer outputBuffer;
|
||||
private boolean shouldSkipOutputBuffer;
|
||||
private boolean codecReconfigured;
|
||||
private @ReconfigurationState int codecReconfigurationState;
|
||||
@ -323,6 +322,7 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
||||
protected abstract void configureCodec(MediaCodecInfo codecInfo, MediaCodec codec, Format format,
|
||||
MediaCrypto crypto) throws DecoderQueryException;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
protected final void maybeInitCodec() throws ExoPlaybackException {
|
||||
if (codec != null || format == null) {
|
||||
// We have a codec already, or we don't have a format with which to instantiate one.
|
||||
@ -402,15 +402,16 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
||||
long codecInitializedTimestamp = SystemClock.elapsedRealtime();
|
||||
onCodecInitialized(codecName, codecInitializedTimestamp,
|
||||
codecInitializedTimestamp - codecInitializingTimestamp);
|
||||
getCodecBuffers();
|
||||
inputBuffers = codec.getInputBuffers();
|
||||
outputBuffers = codec.getOutputBuffers();
|
||||
} catch (Exception e) {
|
||||
throwDecoderInitError(new DecoderInitializationException(format, e,
|
||||
drmSessionRequiresSecureDecoder, codecName));
|
||||
}
|
||||
codecHotswapDeadlineMs = getState() == STATE_STARTED
|
||||
? (SystemClock.elapsedRealtime() + MAX_CODEC_HOTSWAP_TIME_MS) : C.TIME_UNSET;
|
||||
resetInputBuffer();
|
||||
resetOutputBuffer();
|
||||
inputIndex = C.INDEX_UNSET;
|
||||
outputIndex = C.INDEX_UNSET;
|
||||
waitingForFirstSyncFrame = true;
|
||||
decoderCounters.decoderInitCount++;
|
||||
}
|
||||
@ -486,12 +487,13 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
||||
|
||||
protected void releaseCodec() {
|
||||
codecHotswapDeadlineMs = C.TIME_UNSET;
|
||||
resetInputBuffer();
|
||||
resetOutputBuffer();
|
||||
inputIndex = C.INDEX_UNSET;
|
||||
outputIndex = C.INDEX_UNSET;
|
||||
waitingForKeys = false;
|
||||
shouldSkipOutputBuffer = false;
|
||||
decodeOnlyPresentationTimestamps.clear();
|
||||
resetCodecBuffers();
|
||||
inputBuffers = null;
|
||||
outputBuffers = null;
|
||||
codecInfo = null;
|
||||
codecReconfigured = false;
|
||||
codecReceivedBuffers = false;
|
||||
@ -506,6 +508,7 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
||||
codecReceivedEos = false;
|
||||
codecReconfigurationState = RECONFIGURATION_STATE_NONE;
|
||||
codecReinitializationState = REINITIALIZATION_STATE_NONE;
|
||||
buffer.data = null;
|
||||
if (codec != null) {
|
||||
decoderCounters.decoderReleaseCount++;
|
||||
try {
|
||||
@ -588,8 +591,8 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
||||
|
||||
protected void flushCodec() throws ExoPlaybackException {
|
||||
codecHotswapDeadlineMs = C.TIME_UNSET;
|
||||
resetInputBuffer();
|
||||
resetOutputBuffer();
|
||||
inputIndex = C.INDEX_UNSET;
|
||||
outputIndex = C.INDEX_UNSET;
|
||||
waitingForFirstSyncFrame = true;
|
||||
waitingForKeys = false;
|
||||
shouldSkipOutputBuffer = false;
|
||||
@ -632,7 +635,7 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
||||
if (inputIndex < 0) {
|
||||
return false;
|
||||
}
|
||||
buffer.data = getInputBuffer(inputIndex);
|
||||
buffer.data = inputBuffers[inputIndex];
|
||||
buffer.clear();
|
||||
}
|
||||
|
||||
@ -644,7 +647,7 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
||||
} else {
|
||||
codecReceivedEos = true;
|
||||
codec.queueInputBuffer(inputIndex, 0, 0, 0, MediaCodec.BUFFER_FLAG_END_OF_STREAM);
|
||||
resetInputBuffer();
|
||||
inputIndex = C.INDEX_UNSET;
|
||||
}
|
||||
codecReinitializationState = REINITIALIZATION_STATE_WAIT_END_OF_STREAM;
|
||||
return false;
|
||||
@ -654,7 +657,7 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
||||
codecNeedsAdaptationWorkaroundBuffer = false;
|
||||
buffer.data.put(ADAPTATION_WORKAROUND_BUFFER);
|
||||
codec.queueInputBuffer(inputIndex, 0, ADAPTATION_WORKAROUND_BUFFER.length, 0, 0);
|
||||
resetInputBuffer();
|
||||
inputIndex = C.INDEX_UNSET;
|
||||
codecReceivedBuffers = true;
|
||||
return true;
|
||||
}
|
||||
@ -712,7 +715,7 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
||||
} else {
|
||||
codecReceivedEos = true;
|
||||
codec.queueInputBuffer(inputIndex, 0, 0, 0, MediaCodec.BUFFER_FLAG_END_OF_STREAM);
|
||||
resetInputBuffer();
|
||||
inputIndex = C.INDEX_UNSET;
|
||||
}
|
||||
} catch (CryptoException e) {
|
||||
throw ExoPlaybackException.createForRenderer(e, getIndex());
|
||||
@ -757,7 +760,7 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
||||
} else {
|
||||
codec.queueInputBuffer(inputIndex, 0, buffer.data.limit(), presentationTimeUs, 0);
|
||||
}
|
||||
resetInputBuffer();
|
||||
inputIndex = C.INDEX_UNSET;
|
||||
codecReceivedBuffers = true;
|
||||
codecReconfigurationState = RECONFIGURATION_STATE_NONE;
|
||||
decoderCounters.inputBufferCount++;
|
||||
@ -767,56 +770,6 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
||||
return true;
|
||||
}
|
||||
|
||||
private void getCodecBuffers() {
|
||||
if (Util.SDK_INT < 21) {
|
||||
inputBuffers = codec.getInputBuffers();
|
||||
outputBuffers = codec.getOutputBuffers();
|
||||
}
|
||||
}
|
||||
|
||||
private void resetCodecBuffers() {
|
||||
if (Util.SDK_INT < 21) {
|
||||
inputBuffers = null;
|
||||
outputBuffers = null;
|
||||
}
|
||||
}
|
||||
|
||||
private ByteBuffer getInputBuffer(int inputIndex) {
|
||||
if (Util.SDK_INT >= 21) {
|
||||
return codec.getInputBuffer(inputIndex);
|
||||
} else {
|
||||
return inputBuffers[inputIndex];
|
||||
}
|
||||
}
|
||||
|
||||
private void setOutputBuffer(int outputIndex) {
|
||||
this.outputIndex = outputIndex;
|
||||
if (Util.SDK_INT >= 21) {
|
||||
outputBuffer = codec.getOutputBuffer(outputIndex);
|
||||
} else {
|
||||
outputBuffer = outputBuffers[outputIndex];
|
||||
}
|
||||
// The dequeued buffer is a media buffer. Do some initial setup.
|
||||
if (outputBuffer != null) {
|
||||
outputBuffer.position(outputBufferInfo.offset);
|
||||
outputBuffer.limit(outputBufferInfo.offset + outputBufferInfo.size);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean hasOutputBuffer() {
|
||||
return outputIndex >= 0;
|
||||
}
|
||||
|
||||
private void resetInputBuffer() {
|
||||
inputIndex = C.INDEX_UNSET;
|
||||
buffer.data = null;
|
||||
}
|
||||
|
||||
private void resetOutputBuffer() {
|
||||
outputIndex = C.INDEX_UNSET;
|
||||
outputBuffer = null;
|
||||
}
|
||||
|
||||
private static MediaCodec.CryptoInfo getFrameworkCryptoInfo(DecoderInputBuffer buffer,
|
||||
int adaptiveReconfigurationBytes) {
|
||||
MediaCodec.CryptoInfo cryptoInfo = buffer.cryptoInfo.getFrameworkCryptoInfoV16();
|
||||
@ -969,12 +922,9 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
||||
|
||||
@Override
|
||||
public boolean isReady() {
|
||||
return format != null
|
||||
&& !waitingForKeys
|
||||
&& (isSourceReady()
|
||||
|| hasOutputBuffer()
|
||||
|| (codecHotswapDeadlineMs != C.TIME_UNSET
|
||||
&& SystemClock.elapsedRealtime() < codecHotswapDeadlineMs));
|
||||
return format != null && !waitingForKeys && (isSourceReady() || outputIndex >= 0
|
||||
|| (codecHotswapDeadlineMs != C.TIME_UNSET
|
||||
&& SystemClock.elapsedRealtime() < codecHotswapDeadlineMs));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -990,14 +940,14 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
||||
* @return Whether it may be possible to drain more output data.
|
||||
* @throws ExoPlaybackException If an error occurs draining the output buffer.
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
private boolean drainOutputBuffer(long positionUs, long elapsedRealtimeUs)
|
||||
throws ExoPlaybackException {
|
||||
if (!hasOutputBuffer()) {
|
||||
int outputIndex;
|
||||
if (outputIndex < 0) {
|
||||
if (codecNeedsEosOutputExceptionWorkaround && codecReceivedEos) {
|
||||
try {
|
||||
outputIndex =
|
||||
codec.dequeueOutputBuffer(outputBufferInfo, getDequeueOutputBufferTimeoutUs());
|
||||
outputIndex = codec.dequeueOutputBuffer(outputBufferInfo,
|
||||
getDequeueOutputBufferTimeoutUs());
|
||||
} catch (IllegalStateException e) {
|
||||
processEndOfStream();
|
||||
if (outputStreamEnded) {
|
||||
@ -1007,24 +957,30 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
outputIndex =
|
||||
codec.dequeueOutputBuffer(outputBufferInfo, getDequeueOutputBufferTimeoutUs());
|
||||
outputIndex = codec.dequeueOutputBuffer(outputBufferInfo,
|
||||
getDequeueOutputBufferTimeoutUs());
|
||||
}
|
||||
|
||||
if (outputIndex >= 0) {
|
||||
// We've dequeued a buffer.
|
||||
if (shouldSkipAdaptationWorkaroundOutputBuffer) {
|
||||
shouldSkipAdaptationWorkaroundOutputBuffer = false;
|
||||
codec.releaseOutputBuffer(outputIndex, false);
|
||||
outputIndex = C.INDEX_UNSET;
|
||||
return true;
|
||||
} else if ((outputBufferInfo.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) {
|
||||
}
|
||||
if ((outputBufferInfo.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) {
|
||||
// The dequeued buffer indicates the end of the stream. Process it immediately.
|
||||
processEndOfStream();
|
||||
outputIndex = C.INDEX_UNSET;
|
||||
return false;
|
||||
} else {
|
||||
// The dequeued buffer is a media buffer. It will be processed by calling
|
||||
// processOutputBuffer (possibly multiple times).
|
||||
setOutputBuffer(outputIndex);
|
||||
// The dequeued buffer is a media buffer. Do some initial setup. The buffer will be
|
||||
// processed by calling processOutputBuffer (possibly multiple times) below.
|
||||
ByteBuffer outputBuffer = outputBuffers[outputIndex];
|
||||
if (outputBuffer != null) {
|
||||
outputBuffer.position(outputBufferInfo.offset);
|
||||
outputBuffer.limit(outputBufferInfo.offset + outputBufferInfo.size);
|
||||
}
|
||||
shouldSkipOutputBuffer = shouldSkipOutputBuffer(outputBufferInfo.presentationTimeUs);
|
||||
}
|
||||
} else if (outputIndex == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED /* (-2) */) {
|
||||
@ -1034,9 +990,8 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
||||
processOutputBuffersChanged();
|
||||
return true;
|
||||
} else /* MediaCodec.INFO_TRY_AGAIN_LATER (-1) or unknown negative return value */ {
|
||||
if (codecNeedsEosPropagationWorkaround
|
||||
&& (inputStreamEnded
|
||||
|| codecReinitializationState == REINITIALIZATION_STATE_WAIT_END_OF_STREAM)) {
|
||||
if (codecNeedsEosPropagationWorkaround && (inputStreamEnded
|
||||
|| codecReinitializationState == REINITIALIZATION_STATE_WAIT_END_OF_STREAM)) {
|
||||
processEndOfStream();
|
||||
}
|
||||
return false;
|
||||
@ -1046,16 +1001,9 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
||||
boolean processedOutputBuffer;
|
||||
if (codecNeedsEosOutputExceptionWorkaround && codecReceivedEos) {
|
||||
try {
|
||||
processedOutputBuffer =
|
||||
processOutputBuffer(
|
||||
positionUs,
|
||||
elapsedRealtimeUs,
|
||||
codec,
|
||||
outputBuffer,
|
||||
outputIndex,
|
||||
outputBufferInfo.flags,
|
||||
outputBufferInfo.presentationTimeUs,
|
||||
shouldSkipOutputBuffer);
|
||||
processedOutputBuffer = processOutputBuffer(positionUs, elapsedRealtimeUs, codec,
|
||||
outputBuffers[outputIndex], outputIndex, outputBufferInfo.flags,
|
||||
outputBufferInfo.presentationTimeUs, shouldSkipOutputBuffer);
|
||||
} catch (IllegalStateException e) {
|
||||
processEndOfStream();
|
||||
if (outputStreamEnded) {
|
||||
@ -1065,21 +1013,14 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
processedOutputBuffer =
|
||||
processOutputBuffer(
|
||||
positionUs,
|
||||
elapsedRealtimeUs,
|
||||
codec,
|
||||
outputBuffer,
|
||||
outputIndex,
|
||||
outputBufferInfo.flags,
|
||||
outputBufferInfo.presentationTimeUs,
|
||||
shouldSkipOutputBuffer);
|
||||
processedOutputBuffer = processOutputBuffer(positionUs, elapsedRealtimeUs, codec,
|
||||
outputBuffers[outputIndex], outputIndex, outputBufferInfo.flags,
|
||||
outputBufferInfo.presentationTimeUs, shouldSkipOutputBuffer);
|
||||
}
|
||||
|
||||
if (processedOutputBuffer) {
|
||||
onProcessedOutputBuffer(outputBufferInfo.presentationTimeUs);
|
||||
resetOutputBuffer();
|
||||
outputIndex = C.INDEX_UNSET;
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -1107,10 +1048,9 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
||||
/**
|
||||
* Processes a change in the output buffers.
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
private void processOutputBuffersChanged() {
|
||||
if (Util.SDK_INT < 21) {
|
||||
outputBuffers = codec.getOutputBuffers();
|
||||
}
|
||||
outputBuffers = codec.getOutputBuffers();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2018 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:width="48dp"
|
||||
android:height="48dp">
|
||||
<path
|
||||
android:pathData="M7 14l-2 0 0 5 5 0 0 -2 -3 0 0 -3zm-2 -4l2 0 0 -3 3 0 0 -2 -5 0 0 5zm12 7l-3 0 0 2 5 0 0 -5 -2 0 0 3zm-3 -12l0 2 3 0 0 3 2 0 0 -5 -5 0z"
|
||||
android:fillColor="#FFFFFF" />
|
||||
</vector>
|
@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2018 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:width="48dp"
|
||||
android:height="48dp">
|
||||
<path
|
||||
android:pathData="M5 16l3 0 0 3 2 0 0 -5 -5 0 0 2zm3 -8l-3 0 0 2 5 0 0 -5 -2 0 0 3zm6 11l2 0 0 -3 3 0 0 -2 -5 0 0 5zm2 -11l0 -3 -2 0 0 5 5 0 0 -2 -3 0z"
|
||||
android:fillColor="#FFFFFF" />
|
||||
</vector>
|
After Width: | Height: | Size: 107 B |
After Width: | Height: | Size: 105 B |
After Width: | Height: | Size: 107 B |
After Width: | Height: | Size: 105 B |
After Width: | Height: | Size: 101 B |
After Width: | Height: | Size: 101 B |
After Width: | Height: | Size: 109 B |
After Width: | Height: | Size: 106 B |
After Width: | Height: | Size: 123 B |
After Width: | Height: | Size: 123 B |
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"Volgende snit"</string>
|
||||
<string name="exo_controls_pause_description">"Wag"</string>
|
||||
<string name="exo_controls_play_description">"Speel"</string>
|
||||
<string name="exo_controls_stop_description">"Stop"</string>
|
||||
<string name="exo_controls_rewind_description">"Spoel terug"</string>
|
||||
<string name="exo_controls_fastforward_description">"Vinnig vorentoe"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Herhaal alles"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Herhaal niks"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Herhaal een"</string>
|
||||
<string name="exo_controls_shuffle_description">"Skommel"</string>
|
||||
<string name="exo_controls_fullscreen_description">Volskermmodus</string>
|
||||
</resources>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"ቀጣይ ትራክ"</string>
|
||||
<string name="exo_controls_pause_description">"ለአፍታ አቁም"</string>
|
||||
<string name="exo_controls_play_description">"አጫውት"</string>
|
||||
<string name="exo_controls_rewind_description">"ወደኋላ አጠንጥን"</string>
|
||||
<string name="exo_controls_stop_description">"አቁም"</string>
|
||||
<string name="exo_controls_rewind_description">"ወደኋላ አጠንጥን"</string>
|
||||
<string name="exo_controls_fastforward_description">"በፍጥነት አሳልፍ"</string>
|
||||
<string name="exo_controls_repeat_all_description">"ሁሉንም ድገም"</string>
|
||||
<string name="exo_controls_repeat_off_description">"ምንም አትድገም"</string>
|
||||
<string name="exo_controls_repeat_one_description">"አንዱን ድገም"</string>
|
||||
<string name="exo_controls_shuffle_description">"በው"</string>
|
||||
<string name="exo_controls_fullscreen_description">ባለ ሙሉ ማያ ገጽ ሁኔታ</string>
|
||||
</resources>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"المقطع الصوتي التالي"</string>
|
||||
<string name="exo_controls_pause_description">"إيقاف مؤقت"</string>
|
||||
<string name="exo_controls_play_description">"تشغيل"</string>
|
||||
<string name="exo_controls_rewind_description">"إرجاع"</string>
|
||||
<string name="exo_controls_stop_description">"إيقاف"</string>
|
||||
<string name="exo_controls_rewind_description">"إرجاع"</string>
|
||||
<string name="exo_controls_fastforward_description">"تقديم سريع"</string>
|
||||
<string name="exo_controls_repeat_all_description">"تكرار الكل"</string>
|
||||
<string name="exo_controls_repeat_off_description">"عدم التكرار"</string>
|
||||
<string name="exo_controls_repeat_one_description">"تكرار مقطع واحد"</string>
|
||||
<string name="exo_controls_shuffle_description">"ترتيب عشوائي"</string>
|
||||
<string name="exo_controls_fullscreen_description">وضع ملء الشاشة</string>
|
||||
</resources>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Növbəti trek"</string>
|
||||
<string name="exo_controls_pause_description">"Pauza"</string>
|
||||
<string name="exo_controls_play_description">"Oyun"</string>
|
||||
<string name="exo_controls_rewind_description">"Geri sarıma"</string>
|
||||
<string name="exo_controls_stop_description">"Dayandır"</string>
|
||||
<string name="exo_controls_rewind_description">"Geri sarıma"</string>
|
||||
<string name="exo_controls_fastforward_description">"Sürətlə irəli"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Bütün təkrarlayın"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Təkrar bir"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Sledeća pesma"</string>
|
||||
<string name="exo_controls_pause_description">"Pauza"</string>
|
||||
<string name="exo_controls_play_description">"Pusti"</string>
|
||||
<string name="exo_controls_rewind_description">"Premotaj unazad"</string>
|
||||
<string name="exo_controls_stop_description">"Zaustavi"</string>
|
||||
<string name="exo_controls_rewind_description">"Premotaj unazad"</string>
|
||||
<string name="exo_controls_fastforward_description">"Premotaj unapred"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Ponovi sve"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Ne ponavljaj nijednu"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Наступны трэк"</string>
|
||||
<string name="exo_controls_pause_description">"Прыпыніць"</string>
|
||||
<string name="exo_controls_play_description">"Прайграць"</string>
|
||||
<string name="exo_controls_rewind_description">"Перамотка назад"</string>
|
||||
<string name="exo_controls_stop_description">"Спыніць"</string>
|
||||
<string name="exo_controls_rewind_description">"Перамотка назад"</string>
|
||||
<string name="exo_controls_fastforward_description">"Перамотка ўперад"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Паўтарыць усё"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Паўтараць ні"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Следващ запис"</string>
|
||||
<string name="exo_controls_pause_description">"Пауза"</string>
|
||||
<string name="exo_controls_play_description">"Пускане"</string>
|
||||
<string name="exo_controls_rewind_description">"Превъртане назад"</string>
|
||||
<string name="exo_controls_stop_description">"Спиране"</string>
|
||||
<string name="exo_controls_rewind_description">"Превъртане назад"</string>
|
||||
<string name="exo_controls_fastforward_description">"Превъртане напред"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Повтаряне на всички"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Без повтаряне"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"পরবর্তী ট্র্যাক"</string>
|
||||
<string name="exo_controls_pause_description">"বিরাম দিন"</string>
|
||||
<string name="exo_controls_play_description">"প্লে করুন"</string>
|
||||
<string name="exo_controls_rewind_description">"গুটিয়ে নিন"</string>
|
||||
<string name="exo_controls_stop_description">"থামান"</string>
|
||||
<string name="exo_controls_rewind_description">"গুটিয়ে নিন"</string>
|
||||
<string name="exo_controls_fastforward_description">"দ্রুত সামনে এগোন"</string>
|
||||
<string name="exo_controls_repeat_all_description">"সবগুলির পুনরাবৃত্তি করুন"</string>
|
||||
<string name="exo_controls_repeat_off_description">"একটিরও পুনরাবৃত্তি করবেন না"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Sljedeća numera"</string>
|
||||
<string name="exo_controls_pause_description">"Pauziraj"</string>
|
||||
<string name="exo_controls_play_description">"Reproduciraj"</string>
|
||||
<string name="exo_controls_rewind_description">"Premotaj"</string>
|
||||
<string name="exo_controls_stop_description">"Zaustavi"</string>
|
||||
<string name="exo_controls_rewind_description">"Premotaj"</string>
|
||||
<string name="exo_controls_fastforward_description">"Ubrzaj"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Ponovite sve"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Ne ponavljaju"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Ruta següent"</string>
|
||||
<string name="exo_controls_pause_description">"Posa en pausa"</string>
|
||||
<string name="exo_controls_play_description">"Reprodueix"</string>
|
||||
<string name="exo_controls_rewind_description">"Rebobina"</string>
|
||||
<string name="exo_controls_stop_description">"Atura"</string>
|
||||
<string name="exo_controls_rewind_description">"Rebobina"</string>
|
||||
<string name="exo_controls_fastforward_description">"Avança ràpidament"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Repeteix-ho tot"</string>
|
||||
<string name="exo_controls_repeat_off_description">"No en repeteixis cap"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Další skladba"</string>
|
||||
<string name="exo_controls_pause_description">"Pozastavit"</string>
|
||||
<string name="exo_controls_play_description">"Přehrát"</string>
|
||||
<string name="exo_controls_rewind_description">"Přetočit zpět"</string>
|
||||
<string name="exo_controls_stop_description">"Zastavit"</string>
|
||||
<string name="exo_controls_rewind_description">"Přetočit zpět"</string>
|
||||
<string name="exo_controls_fastforward_description">"Přetočit vpřed"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Opakovat vše"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Neopakovat"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Næste nummer"</string>
|
||||
<string name="exo_controls_pause_description">"Pause"</string>
|
||||
<string name="exo_controls_play_description">"Afspil"</string>
|
||||
<string name="exo_controls_rewind_description">"Spol tilbage"</string>
|
||||
<string name="exo_controls_stop_description">"Stop"</string>
|
||||
<string name="exo_controls_rewind_description">"Spol tilbage"</string>
|
||||
<string name="exo_controls_fastforward_description">"Spol frem"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Gentag alle"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Gentag ingen"</string>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"Nächster Titel"</string>
|
||||
<string name="exo_controls_pause_description">"Pausieren"</string>
|
||||
<string name="exo_controls_play_description">"Wiedergabe"</string>
|
||||
<string name="exo_controls_rewind_description">"Zurückspulen"</string>
|
||||
<string name="exo_controls_stop_description">"Beenden"</string>
|
||||
<string name="exo_controls_rewind_description">"Zurückspulen"</string>
|
||||
<string name="exo_controls_fastforward_description">"Vorspulen"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Alle wiederholen"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Keinen Titel wiederholen"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Einen Titel wiederholen"</string>
|
||||
<string name="exo_controls_shuffle_description">"Zufallsmix"</string>
|
||||
<string name="exo_controls_fullscreen_description">Vollbildmodus</string>
|
||||
</resources>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"Επόμενο κομμάτι"</string>
|
||||
<string name="exo_controls_pause_description">"Παύση"</string>
|
||||
<string name="exo_controls_play_description">"Αναπαραγωγή"</string>
|
||||
<string name="exo_controls_rewind_description">"Επαναφορά"</string>
|
||||
<string name="exo_controls_stop_description">"Διακοπή"</string>
|
||||
<string name="exo_controls_rewind_description">"Επαναφορά"</string>
|
||||
<string name="exo_controls_fastforward_description">"Γρήγορη προώθηση"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Επανάληψη όλων"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Καμία επανάληψη"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Επανάληψη ενός στοιχείου"</string>
|
||||
<string name="exo_controls_shuffle_description">"Τυχαία αναπαραγωγή"</string>
|
||||
<string name="exo_controls_fullscreen_description">Λειτουργία πλήρους οθόνης</string>
|
||||
</resources>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Next track"</string>
|
||||
<string name="exo_controls_pause_description">"Pause"</string>
|
||||
<string name="exo_controls_play_description">"Play"</string>
|
||||
<string name="exo_controls_rewind_description">"Rewind"</string>
|
||||
<string name="exo_controls_stop_description">"Stop"</string>
|
||||
<string name="exo_controls_rewind_description">"Rewind"</string>
|
||||
<string name="exo_controls_fastforward_description">"Fast-forward"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Repeat all"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Repeat none"</string>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"Next track"</string>
|
||||
<string name="exo_controls_pause_description">"Pause"</string>
|
||||
<string name="exo_controls_play_description">"Play"</string>
|
||||
<string name="exo_controls_rewind_description">"Rewind"</string>
|
||||
<string name="exo_controls_stop_description">"Stop"</string>
|
||||
<string name="exo_controls_rewind_description">"Rewind"</string>
|
||||
<string name="exo_controls_fastforward_description">"Fast-forward"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Repeat all"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Repeat none"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Repeat one"</string>
|
||||
<string name="exo_controls_shuffle_description">"Shuffle"</string>
|
||||
<string name="exo_controls_fullscreen_description">Fullscreen mode</string>
|
||||
</resources>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"Next track"</string>
|
||||
<string name="exo_controls_pause_description">"Pause"</string>
|
||||
<string name="exo_controls_play_description">"Play"</string>
|
||||
<string name="exo_controls_rewind_description">"Rewind"</string>
|
||||
<string name="exo_controls_stop_description">"Stop"</string>
|
||||
<string name="exo_controls_rewind_description">"Rewind"</string>
|
||||
<string name="exo_controls_fastforward_description">"Fast-forward"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Repeat all"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Repeat none"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Repeat one"</string>
|
||||
<string name="exo_controls_shuffle_description">"Shuffle"</string>
|
||||
<string name="exo_controls_fullscreen_description">Fullscreen mode</string>
|
||||
</resources>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Siguiente pista"</string>
|
||||
<string name="exo_controls_pause_description">"Pausar"</string>
|
||||
<string name="exo_controls_play_description">"Reproducir"</string>
|
||||
<string name="exo_controls_rewind_description">"Retroceder"</string>
|
||||
<string name="exo_controls_stop_description">"Detener"</string>
|
||||
<string name="exo_controls_rewind_description">"Retroceder"</string>
|
||||
<string name="exo_controls_fastforward_description">"Avanzar"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Repetir todo"</string>
|
||||
<string name="exo_controls_repeat_off_description">"No repetir"</string>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"Siguiente canción"</string>
|
||||
<string name="exo_controls_pause_description">"Pausar"</string>
|
||||
<string name="exo_controls_play_description">"Reproducir"</string>
|
||||
<string name="exo_controls_rewind_description">"Rebobinar"</string>
|
||||
<string name="exo_controls_stop_description">"Detener"</string>
|
||||
<string name="exo_controls_rewind_description">"Rebobinar"</string>
|
||||
<string name="exo_controls_fastforward_description">"Avance rápido"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Repetir todo"</string>
|
||||
<string name="exo_controls_repeat_off_description">"No repetir"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Repetir uno"</string>
|
||||
<string name="exo_controls_shuffle_description">"Reproducción aleatoria"</string>
|
||||
<string name="exo_controls_fullscreen_description">Modo de pantalla completa</string>
|
||||
</resources>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Järgmine lugu"</string>
|
||||
<string name="exo_controls_pause_description">"Peata"</string>
|
||||
<string name="exo_controls_play_description">"Esita"</string>
|
||||
<string name="exo_controls_rewind_description">"Keri tagasi"</string>
|
||||
<string name="exo_controls_stop_description">"Peata"</string>
|
||||
<string name="exo_controls_rewind_description">"Keri tagasi"</string>
|
||||
<string name="exo_controls_fastforward_description">"Keri edasi"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Korda kõike"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Ära korda midagi"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Hurrengo pista"</string>
|
||||
<string name="exo_controls_pause_description">"Pausatu"</string>
|
||||
<string name="exo_controls_play_description">"Erreproduzitu"</string>
|
||||
<string name="exo_controls_rewind_description">"Atzeratu"</string>
|
||||
<string name="exo_controls_stop_description">"Gelditu"</string>
|
||||
<string name="exo_controls_rewind_description">"Atzeratu"</string>
|
||||
<string name="exo_controls_fastforward_description">"Aurreratu"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Errepikatu guztiak"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Ez errepikatu"</string>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"آهنگ بعدی"</string>
|
||||
<string name="exo_controls_pause_description">"مکث"</string>
|
||||
<string name="exo_controls_play_description">"پخش"</string>
|
||||
<string name="exo_controls_rewind_description">"عقب بردن"</string>
|
||||
<string name="exo_controls_stop_description">"توقف"</string>
|
||||
<string name="exo_controls_rewind_description">"عقب بردن"</string>
|
||||
<string name="exo_controls_fastforward_description">"جلو بردن سریع"</string>
|
||||
<string name="exo_controls_repeat_all_description">"تکرار همه"</string>
|
||||
<string name="exo_controls_repeat_off_description">"تکرار هیچکدام"</string>
|
||||
<string name="exo_controls_repeat_one_description">"یکبار تکرار"</string>
|
||||
<string name="exo_controls_shuffle_description">"پخش درهم"</string>
|
||||
<string name="exo_controls_fullscreen_description">حالت تمام صفحه</string>
|
||||
</resources>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Seuraava raita"</string>
|
||||
<string name="exo_controls_pause_description">"Tauko"</string>
|
||||
<string name="exo_controls_play_description">"Toista"</string>
|
||||
<string name="exo_controls_rewind_description">"Kelaa taakse"</string>
|
||||
<string name="exo_controls_stop_description">"Seis"</string>
|
||||
<string name="exo_controls_rewind_description">"Kelaa taakse"</string>
|
||||
<string name="exo_controls_fastforward_description">"Kelaa eteen"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Toista kaikki"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Toista ei mitään"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Chanson suivante"</string>
|
||||
<string name="exo_controls_pause_description">"Pause"</string>
|
||||
<string name="exo_controls_play_description">"Lecture"</string>
|
||||
<string name="exo_controls_rewind_description">"Reculer"</string>
|
||||
<string name="exo_controls_stop_description">"Arrêter"</string>
|
||||
<string name="exo_controls_rewind_description">"Reculer"</string>
|
||||
<string name="exo_controls_fastforward_description">"Avance rapide"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Tout lire en boucle"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Aucune répétition"</string>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"Piste suivante"</string>
|
||||
<string name="exo_controls_pause_description">"Interrompre"</string>
|
||||
<string name="exo_controls_play_description">"Lire"</string>
|
||||
<string name="exo_controls_rewind_description">"Retour arrière"</string>
|
||||
<string name="exo_controls_stop_description">"Arrêter"</string>
|
||||
<string name="exo_controls_rewind_description">"Retour arrière"</string>
|
||||
<string name="exo_controls_fastforward_description">"Avance rapide"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Tout lire en boucle"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Ne rien lire en boucle"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Lire en boucle un élément"</string>
|
||||
<string name="exo_controls_shuffle_description">"Lire en mode aléatoire"</string>
|
||||
<string name="exo_controls_fullscreen_description">Mode plein écran</string>
|
||||
</resources>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Seguinte pista"</string>
|
||||
<string name="exo_controls_pause_description">"Pausar"</string>
|
||||
<string name="exo_controls_play_description">"Reproducir"</string>
|
||||
<string name="exo_controls_rewind_description">"Rebobinar"</string>
|
||||
<string name="exo_controls_stop_description">"Deter"</string>
|
||||
<string name="exo_controls_rewind_description">"Rebobinar"</string>
|
||||
<string name="exo_controls_fastforward_description">"Avance rápido"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Repetir todo"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Non repetir"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"આગલો ટ્રૅક"</string>
|
||||
<string name="exo_controls_pause_description">"થોભો"</string>
|
||||
<string name="exo_controls_play_description">"ચલાવો"</string>
|
||||
<string name="exo_controls_rewind_description">"રીવાઇન્ડ કરો"</string>
|
||||
<string name="exo_controls_stop_description">"રોકો"</string>
|
||||
<string name="exo_controls_rewind_description">"રીવાઇન્ડ કરો"</string>
|
||||
<string name="exo_controls_fastforward_description">"ઝડપી ફોરવર્ડ કરો"</string>
|
||||
<string name="exo_controls_repeat_all_description">"બધા પુનરાવર્તન કરો"</string>
|
||||
<string name="exo_controls_repeat_off_description">"કંઈ પુનરાવર્તન કરો"</string>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"अगला ट्रैक"</string>
|
||||
<string name="exo_controls_pause_description">"रोकें"</string>
|
||||
<string name="exo_controls_play_description">"चलाएं"</string>
|
||||
<string name="exo_controls_rewind_description">"रिवाइंड करें"</string>
|
||||
<string name="exo_controls_stop_description">"बंद करें"</string>
|
||||
<string name="exo_controls_rewind_description">"रिवाइंड करें"</string>
|
||||
<string name="exo_controls_fastforward_description">"फ़ास्ट फ़ॉरवर्ड"</string>
|
||||
<string name="exo_controls_repeat_all_description">"सभी को दोहराएं"</string>
|
||||
<string name="exo_controls_repeat_off_description">"कुछ भी न दोहराएं"</string>
|
||||
<string name="exo_controls_repeat_one_description">"एक दोहराएं"</string>
|
||||
<string name="exo_controls_shuffle_description">"शफ़ल करें"</string>
|
||||
<string name="exo_controls_fullscreen_description">पूर्ण-स्क्रीन मोड</string>
|
||||
</resources>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"Sljedeća pjesma"</string>
|
||||
<string name="exo_controls_pause_description">"Pauziraj"</string>
|
||||
<string name="exo_controls_play_description">"Reproduciraj"</string>
|
||||
<string name="exo_controls_rewind_description">"Unatrag"</string>
|
||||
<string name="exo_controls_stop_description">"Zaustavi"</string>
|
||||
<string name="exo_controls_rewind_description">"Unatrag"</string>
|
||||
<string name="exo_controls_fastforward_description">"Brzo unaprijed"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Ponovi sve"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Bez ponavljanja"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Ponovi jedno"</string>
|
||||
<string name="exo_controls_shuffle_description">"Reproduciraj nasumično"</string>
|
||||
<string name="exo_controls_fullscreen_description">Prikaz na cijelom zaslonu</string>
|
||||
</resources>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"Következő szám"</string>
|
||||
<string name="exo_controls_pause_description">"Szünet"</string>
|
||||
<string name="exo_controls_play_description">"Lejátszás"</string>
|
||||
<string name="exo_controls_rewind_description">"Visszatekerés"</string>
|
||||
<string name="exo_controls_stop_description">"Leállítás"</string>
|
||||
<string name="exo_controls_rewind_description">"Visszatekerés"</string>
|
||||
<string name="exo_controls_fastforward_description">"Előretekerés"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Összes ismétlése"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Nincs ismétlés"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Egy ismétlése"</string>
|
||||
<string name="exo_controls_shuffle_description">"Véletlenszerű lejátszás"</string>
|
||||
<string name="exo_controls_fullscreen_description">Teljes képernyős mód</string>
|
||||
</resources>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Հաջորդը"</string>
|
||||
<string name="exo_controls_pause_description">"Դադարեցնել"</string>
|
||||
<string name="exo_controls_play_description">"Նվագարկել"</string>
|
||||
<string name="exo_controls_rewind_description">"Հետ փաթաթել"</string>
|
||||
<string name="exo_controls_stop_description">"Դադարեցնել"</string>
|
||||
<string name="exo_controls_rewind_description">"Հետ փաթաթել"</string>
|
||||
<string name="exo_controls_fastforward_description">"Արագ առաջ անցնել"</string>
|
||||
<string name="exo_controls_repeat_all_description">"կրկնել այն ամենը"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Չկրկնել"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Lagu berikutnya"</string>
|
||||
<string name="exo_controls_pause_description">"Jeda"</string>
|
||||
<string name="exo_controls_play_description">"Putar"</string>
|
||||
<string name="exo_controls_rewind_description">"Putar Ulang"</string>
|
||||
<string name="exo_controls_stop_description">"Berhenti"</string>
|
||||
<string name="exo_controls_rewind_description">"Putar Ulang"</string>
|
||||
<string name="exo_controls_fastforward_description">"Maju cepat"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Ulangi Semua"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Jangan Ulangi"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Næsta lag"</string>
|
||||
<string name="exo_controls_pause_description">"Hlé"</string>
|
||||
<string name="exo_controls_play_description">"Spila"</string>
|
||||
<string name="exo_controls_rewind_description">"Spóla til baka"</string>
|
||||
<string name="exo_controls_stop_description">"Stöðva"</string>
|
||||
<string name="exo_controls_rewind_description">"Spóla til baka"</string>
|
||||
<string name="exo_controls_fastforward_description">"Spóla áfram"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Endurtaka allt"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Endurtaka ekkert"</string>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"Traccia successiva"</string>
|
||||
<string name="exo_controls_pause_description">"Metti in pausa"</string>
|
||||
<string name="exo_controls_play_description">"Riproduci"</string>
|
||||
<string name="exo_controls_rewind_description">"Riavvolgi"</string>
|
||||
<string name="exo_controls_stop_description">"Interrompi"</string>
|
||||
<string name="exo_controls_rewind_description">"Riavvolgi"</string>
|
||||
<string name="exo_controls_fastforward_description">"Avanti veloce"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Ripeti tutti"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Non ripetere nessuno"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Ripeti uno"</string>
|
||||
<string name="exo_controls_shuffle_description">"Riproduci casualmente"</string>
|
||||
<string name="exo_controls_fullscreen_description">Modalità a schermo intero</string>
|
||||
</resources>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"הרצועה הבאה"</string>
|
||||
<string name="exo_controls_pause_description">"השהה"</string>
|
||||
<string name="exo_controls_play_description">"הפעל"</string>
|
||||
<string name="exo_controls_rewind_description">"הרץ אחורה"</string>
|
||||
<string name="exo_controls_stop_description">"הפסק"</string>
|
||||
<string name="exo_controls_rewind_description">"הרץ אחורה"</string>
|
||||
<string name="exo_controls_fastforward_description">"הרץ קדימה"</string>
|
||||
<string name="exo_controls_repeat_all_description">"חזור על הכל"</string>
|
||||
<string name="exo_controls_repeat_off_description">"אל תחזור על כלום"</string>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"次のトラック"</string>
|
||||
<string name="exo_controls_pause_description">"一時停止"</string>
|
||||
<string name="exo_controls_play_description">"再生"</string>
|
||||
<string name="exo_controls_rewind_description">"巻き戻し"</string>
|
||||
<string name="exo_controls_stop_description">"停止"</string>
|
||||
<string name="exo_controls_rewind_description">"巻き戻し"</string>
|
||||
<string name="exo_controls_fastforward_description">"早送り"</string>
|
||||
<string name="exo_controls_repeat_all_description">"全曲を繰り返し"</string>
|
||||
<string name="exo_controls_repeat_off_description">"繰り返しなし"</string>
|
||||
<string name="exo_controls_repeat_one_description">"1曲を繰り返し"</string>
|
||||
<string name="exo_controls_shuffle_description">"シャッフル"</string>
|
||||
<string name="exo_controls_fullscreen_description">フルスクリーンモード</string>
|
||||
</resources>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"შემდეგი ჩანაწერი"</string>
|
||||
<string name="exo_controls_pause_description">"პაუზა"</string>
|
||||
<string name="exo_controls_play_description">"დაკვრა"</string>
|
||||
<string name="exo_controls_rewind_description">"უკან გადახვევა"</string>
|
||||
<string name="exo_controls_stop_description">"შეწყვეტა"</string>
|
||||
<string name="exo_controls_rewind_description">"უკან გადახვევა"</string>
|
||||
<string name="exo_controls_fastforward_description">"წინ გადახვევა"</string>
|
||||
<string name="exo_controls_repeat_all_description">"გამეორება ყველა"</string>
|
||||
<string name="exo_controls_repeat_off_description">"გაიმეორეთ არცერთი"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Келесі трек"</string>
|
||||
<string name="exo_controls_pause_description">"Кідірту"</string>
|
||||
<string name="exo_controls_play_description">"Ойнату"</string>
|
||||
<string name="exo_controls_rewind_description">"Кері айналдыру"</string>
|
||||
<string name="exo_controls_stop_description">"Тоқтату"</string>
|
||||
<string name="exo_controls_rewind_description">"Кері айналдыру"</string>
|
||||
<string name="exo_controls_fastforward_description">"Жылдам алға айналдыру"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Барлығын қайталау"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Ешқайсысын қайталамау"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"បទបន្ទាប់"</string>
|
||||
<string name="exo_controls_pause_description">"ផ្អាក"</string>
|
||||
<string name="exo_controls_play_description">"ចាក់"</string>
|
||||
<string name="exo_controls_rewind_description">"ខាថយក្រោយ"</string>
|
||||
<string name="exo_controls_stop_description">"បញ្ឈប់"</string>
|
||||
<string name="exo_controls_rewind_description">"ខាថយក្រោយ"</string>
|
||||
<string name="exo_controls_fastforward_description">"ទៅមុខរហ័ស"</string>
|
||||
<string name="exo_controls_repeat_all_description">"ធ្វើម្ដងទៀតទាំងអស់"</string>
|
||||
<string name="exo_controls_repeat_off_description">"មិនធ្វើឡើងវិញ"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"ಮುಂದಿನ ಟ್ರ್ಯಾಕ್"</string>
|
||||
<string name="exo_controls_pause_description">"ವಿರಾಮಗೊಳಿಸು"</string>
|
||||
<string name="exo_controls_play_description">"ಪ್ಲೇ ಮಾಡು"</string>
|
||||
<string name="exo_controls_rewind_description">"ರಿವೈಂಡ್ ಮಾಡು"</string>
|
||||
<string name="exo_controls_stop_description">"ನಿಲ್ಲಿಸು"</string>
|
||||
<string name="exo_controls_rewind_description">"ರಿವೈಂಡ್ ಮಾಡು"</string>
|
||||
<string name="exo_controls_fastforward_description">"ವೇಗವಾಗಿ ಮುಂದಕ್ಕೆ"</string>
|
||||
<string name="exo_controls_repeat_all_description">"ಎಲ್ಲವನ್ನು ಪುನರಾವರ್ತಿಸಿ"</string>
|
||||
<string name="exo_controls_repeat_off_description">"ಯಾವುದನ್ನೂ ಪುನರಾವರ್ತಿಸಬೇಡಿ"</string>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"다음 트랙"</string>
|
||||
<string name="exo_controls_pause_description">"일시중지"</string>
|
||||
<string name="exo_controls_play_description">"재생"</string>
|
||||
<string name="exo_controls_rewind_description">"되감기"</string>
|
||||
<string name="exo_controls_stop_description">"중지"</string>
|
||||
<string name="exo_controls_rewind_description">"되감기"</string>
|
||||
<string name="exo_controls_fastforward_description">"빨리 감기"</string>
|
||||
<string name="exo_controls_repeat_all_description">"전체 반복"</string>
|
||||
<string name="exo_controls_repeat_off_description">"반복 안함"</string>
|
||||
<string name="exo_controls_repeat_one_description">"한 항목 반복"</string>
|
||||
<string name="exo_controls_shuffle_description">"셔플"</string>
|
||||
<string name="exo_controls_fullscreen_description">전체 화면 모드</string>
|
||||
</resources>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Кийинки трек"</string>
|
||||
<string name="exo_controls_pause_description">"Тындыруу"</string>
|
||||
<string name="exo_controls_play_description">"Ойнотуу"</string>
|
||||
<string name="exo_controls_rewind_description">"Артка түрүү"</string>
|
||||
<string name="exo_controls_stop_description">"Токтотуу"</string>
|
||||
<string name="exo_controls_rewind_description">"Артка түрүү"</string>
|
||||
<string name="exo_controls_fastforward_description">"Алдыга түрүү"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Баарын кайталоо"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Эч бирин кайталабоо"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"ເພງຕໍ່ໄປ"</string>
|
||||
<string name="exo_controls_pause_description">"ຢຸດຊົ່ວຄາວ"</string>
|
||||
<string name="exo_controls_play_description">"ຫຼິ້ນ"</string>
|
||||
<string name="exo_controls_rewind_description">"ຣີວາຍກັບ"</string>
|
||||
<string name="exo_controls_stop_description">"ຢຸດ"</string>
|
||||
<string name="exo_controls_rewind_description">"ຣີວາຍກັບ"</string>
|
||||
<string name="exo_controls_fastforward_description">"ເລື່ອນໄປໜ້າ"</string>
|
||||
<string name="exo_controls_repeat_all_description">"ຫຼິ້ນຊ້ຳທັງໝົດ"</string>
|
||||
<string name="exo_controls_repeat_off_description">"ບໍ່ຫຼິ້ນຊ້ຳ"</string>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"Kitas takelis"</string>
|
||||
<string name="exo_controls_pause_description">"Pristabdyti"</string>
|
||||
<string name="exo_controls_play_description">"Leisti"</string>
|
||||
<string name="exo_controls_stop_description">"Stabdyti"</string>
|
||||
<string name="exo_controls_rewind_description">"Sukti atgal"</string>
|
||||
<string name="exo_controls_fastforward_description">"Sukti pirmyn"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Kartoti viską"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Nekartoti nieko"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Kartoti vieną"</string>
|
||||
<string name="exo_controls_shuffle_description">"Maišyti"</string>
|
||||
<string name="exo_controls_fullscreen_description">Viso ekrano režimas</string>
|
||||
</resources>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"Nākamais ieraksts"</string>
|
||||
<string name="exo_controls_pause_description">"Pārtraukt"</string>
|
||||
<string name="exo_controls_play_description">"Atskaņot"</string>
|
||||
<string name="exo_controls_rewind_description">"Attīt atpakaļ"</string>
|
||||
<string name="exo_controls_stop_description">"Apturēt"</string>
|
||||
<string name="exo_controls_rewind_description">"Attīt atpakaļ"</string>
|
||||
<string name="exo_controls_fastforward_description">"Ātri patīt"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Atkārtot visu"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Neatkārtot nevienu"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Atkārtot vienu"</string>
|
||||
<string name="exo_controls_shuffle_description">"Atskaņot jauktā secībā"</string>
|
||||
<string name="exo_controls_fullscreen_description">Pilnekrāna režīms</string>
|
||||
</resources>
|
||||
|
@ -19,6 +19,7 @@
|
||||
<string name="exo_controls_next_description">"Следна песна"</string>
|
||||
<string name="exo_controls_pause_description">"Пауза"</string>
|
||||
<string name="exo_controls_play_description">"Пушти"</string>
|
||||
<string name="exo_controls_stop_description">"Запри"</string>
|
||||
<string name="exo_controls_rewind_description">"Премотај назад"</string>
|
||||
<string name="exo_controls_fastforward_description">"Брзо премотај напред"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Повтори ги сите"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"അടുത്ത ട്രാക്ക്"</string>
|
||||
<string name="exo_controls_pause_description">"താൽക്കാലികമായി നിർത്തുക"</string>
|
||||
<string name="exo_controls_play_description">"പ്ലേ ചെയ്യുക"</string>
|
||||
<string name="exo_controls_rewind_description">"റിവൈൻഡുചെയ്യുക"</string>
|
||||
<string name="exo_controls_stop_description">"നിര്ത്തുക"</string>
|
||||
<string name="exo_controls_rewind_description">"റിവൈൻഡുചെയ്യുക"</string>
|
||||
<string name="exo_controls_fastforward_description">"വേഗത്തിലുള്ള കൈമാറൽ"</string>
|
||||
<string name="exo_controls_repeat_all_description">"എല്ലാം ആവർത്തിക്കുക"</string>
|
||||
<string name="exo_controls_repeat_off_description">"ഒന്നും ആവർത്തിക്കരുത്"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Дараагийн трек"</string>
|
||||
<string name="exo_controls_pause_description">"Түр зогсоох"</string>
|
||||
<string name="exo_controls_play_description">"Тоглуулах"</string>
|
||||
<string name="exo_controls_rewind_description">"Буцааж хураах"</string>
|
||||
<string name="exo_controls_stop_description">"Зогсоох"</string>
|
||||
<string name="exo_controls_rewind_description">"Буцааж хураах"</string>
|
||||
<string name="exo_controls_fastforward_description">"Хурдан урагшлуулах"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Бүгдийг давтах"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Алийг нь ч давтахгүй"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"पुढील ट्रॅक"</string>
|
||||
<string name="exo_controls_pause_description">"विराम द्या"</string>
|
||||
<string name="exo_controls_play_description">"प्ले करा"</string>
|
||||
<string name="exo_controls_rewind_description">"रिवाईँड करा"</string>
|
||||
<string name="exo_controls_stop_description">"थांबा"</string>
|
||||
<string name="exo_controls_rewind_description">"रिवाईँड करा"</string>
|
||||
<string name="exo_controls_fastforward_description">"फास्ट फॉरवर्ड करा"</string>
|
||||
<string name="exo_controls_repeat_all_description">"सर्व पुनरावृत्ती करा"</string>
|
||||
<string name="exo_controls_repeat_off_description">"काहीही पुनरावृत्ती करू नका"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Lagu seterusnya"</string>
|
||||
<string name="exo_controls_pause_description">"Jeda"</string>
|
||||
<string name="exo_controls_play_description">"Main"</string>
|
||||
<string name="exo_controls_rewind_description">"Gulung semula"</string>
|
||||
<string name="exo_controls_stop_description">"Berhenti"</string>
|
||||
<string name="exo_controls_rewind_description">"Gulung semula"</string>
|
||||
<string name="exo_controls_fastforward_description">"Mara laju"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Ulang semua"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Tiada ulangan"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"နောက် တစ်ပုဒ်"</string>
|
||||
<string name="exo_controls_pause_description">"ခဏရပ်ရန်"</string>
|
||||
<string name="exo_controls_play_description">"ဖွင့်ရန်"</string>
|
||||
<string name="exo_controls_rewind_description">"ပြန်ရစ်ရန်"</string>
|
||||
<string name="exo_controls_stop_description">"ရပ်ရန်"</string>
|
||||
<string name="exo_controls_rewind_description">"ပြန်ရစ်ရန်"</string>
|
||||
<string name="exo_controls_fastforward_description">"ရှေ့သို့ သွားရန်"</string>
|
||||
<string name="exo_controls_repeat_all_description">"အားလုံး ထပ်တလဲလဲဖွင့်ရန်"</string>
|
||||
<string name="exo_controls_repeat_off_description">"ထပ်တလဲလဲမဖွင့်ရန်"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Neste spor"</string>
|
||||
<string name="exo_controls_pause_description">"Sett på pause"</string>
|
||||
<string name="exo_controls_play_description">"Spill av"</string>
|
||||
<string name="exo_controls_rewind_description">"Tilbakespoling"</string>
|
||||
<string name="exo_controls_stop_description">"Stopp"</string>
|
||||
<string name="exo_controls_rewind_description">"Tilbakespoling"</string>
|
||||
<string name="exo_controls_fastforward_description">"Fremoverspoling"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Gjenta alle"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Ikke gjenta noen"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"अर्को ट्रयाक"</string>
|
||||
<string name="exo_controls_pause_description">"रोक्नुहोस्"</string>
|
||||
<string name="exo_controls_play_description">"चलाउनुहोस्"</string>
|
||||
<string name="exo_controls_rewind_description">"दोहोर्याउनुहोस्"</string>
|
||||
<string name="exo_controls_stop_description">"रोक्नुहोस्"</string>
|
||||
<string name="exo_controls_rewind_description">"दोहोर्याउनुहोस्"</string>
|
||||
<string name="exo_controls_fastforward_description">"फास्ट फर्वार्ड"</string>
|
||||
<string name="exo_controls_repeat_all_description">"सबै दोहोर्याउनुहोस्"</string>
|
||||
<string name="exo_controls_repeat_off_description">"कुनै पनि नदोहोर्याउनुहोस्"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Volgend nummer"</string>
|
||||
<string name="exo_controls_pause_description">"Onderbreken"</string>
|
||||
<string name="exo_controls_play_description">"Afspelen"</string>
|
||||
<string name="exo_controls_rewind_description">"Terugspoelen"</string>
|
||||
<string name="exo_controls_stop_description">"Stoppen"</string>
|
||||
<string name="exo_controls_rewind_description">"Terugspoelen"</string>
|
||||
<string name="exo_controls_fastforward_description">"Vooruitspoelen"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Alles herhalen"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Niet herhalen"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"ਅਗਲਾ ਟਰੈਕ"</string>
|
||||
<string name="exo_controls_pause_description">"ਰੋਕੋ"</string>
|
||||
<string name="exo_controls_play_description">"ਪਲੇ ਕਰੋ"</string>
|
||||
<string name="exo_controls_rewind_description">"ਰੀਵਾਈਂਡ ਕਰੋ"</string>
|
||||
<string name="exo_controls_stop_description">"ਰੋਕੋ"</string>
|
||||
<string name="exo_controls_rewind_description">"ਰੀਵਾਈਂਡ ਕਰੋ"</string>
|
||||
<string name="exo_controls_fastforward_description">"ਅੱਗੇ ਭੇਜੋ"</string>
|
||||
<string name="exo_controls_repeat_all_description">"ਸਭ ਨੂੰ ਦੁਹਰਾਓ"</string>
|
||||
<string name="exo_controls_repeat_off_description">"ਕੋਈ ਵੀ ਨਹੀਂ ਦੁਹਰਾਓ"</string>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"Następny utwór"</string>
|
||||
<string name="exo_controls_pause_description">"Wstrzymaj"</string>
|
||||
<string name="exo_controls_play_description">"Odtwórz"</string>
|
||||
<string name="exo_controls_rewind_description">"Przewiń do tyłu"</string>
|
||||
<string name="exo_controls_stop_description">"Zatrzymaj"</string>
|
||||
<string name="exo_controls_rewind_description">"Przewiń do tyłu"</string>
|
||||
<string name="exo_controls_fastforward_description">"Przewiń do przodu"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Powtórz wszystkie"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Nie powtarzaj"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Powtórz jeden"</string>
|
||||
<string name="exo_controls_shuffle_description">"Odtwarzaj losowo"</string>
|
||||
<string name="exo_controls_fullscreen_description">Tryb pełnoekranowy</string>
|
||||
</resources>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Próxima faixa"</string>
|
||||
<string name="exo_controls_pause_description">"Pausar"</string>
|
||||
<string name="exo_controls_play_description">"Reproduzir"</string>
|
||||
<string name="exo_controls_rewind_description">"Retroceder"</string>
|
||||
<string name="exo_controls_stop_description">"Parar"</string>
|
||||
<string name="exo_controls_rewind_description">"Retroceder"</string>
|
||||
<string name="exo_controls_fastforward_description">"Avançar"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Repetir tudo"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Não repetir"</string>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"Faixa seguinte"</string>
|
||||
<string name="exo_controls_pause_description">"Interromper"</string>
|
||||
<string name="exo_controls_play_description">"Reproduzir"</string>
|
||||
<string name="exo_controls_rewind_description">"Rebobinar"</string>
|
||||
<string name="exo_controls_stop_description">"Parar"</string>
|
||||
<string name="exo_controls_rewind_description">"Rebobinar"</string>
|
||||
<string name="exo_controls_fastforward_description">"Avançar"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Repetir tudo"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Não repetir"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Repetir um"</string>
|
||||
<string name="exo_controls_shuffle_description">"Reproduzir aleatoriamente"</string>
|
||||
<string name="exo_controls_fullscreen_description">Modo de ecrã inteiro</string>
|
||||
</resources>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Próxima faixa"</string>
|
||||
<string name="exo_controls_pause_description">"Pausar"</string>
|
||||
<string name="exo_controls_play_description">"Reproduzir"</string>
|
||||
<string name="exo_controls_rewind_description">"Retroceder"</string>
|
||||
<string name="exo_controls_stop_description">"Parar"</string>
|
||||
<string name="exo_controls_rewind_description">"Retroceder"</string>
|
||||
<string name="exo_controls_fastforward_description">"Avançar"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Repetir tudo"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Não repetir"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Melodia următoare"</string>
|
||||
<string name="exo_controls_pause_description">"Pauză"</string>
|
||||
<string name="exo_controls_play_description">"Redați"</string>
|
||||
<string name="exo_controls_rewind_description">"Derulați"</string>
|
||||
<string name="exo_controls_stop_description">"Opriți"</string>
|
||||
<string name="exo_controls_rewind_description">"Derulați"</string>
|
||||
<string name="exo_controls_fastforward_description">"Derulați rapid înainte"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Repetați toate"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Repetați niciuna"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Следующий трек"</string>
|
||||
<string name="exo_controls_pause_description">"Приостановить"</string>
|
||||
<string name="exo_controls_play_description">"Воспроизвести"</string>
|
||||
<string name="exo_controls_rewind_description">"Перемотать назад"</string>
|
||||
<string name="exo_controls_stop_description">"Остановить"</string>
|
||||
<string name="exo_controls_rewind_description">"Перемотать назад"</string>
|
||||
<string name="exo_controls_fastforward_description">"Перемотать вперед"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Повторять все"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Не повторять"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"ඊළඟ ගීතය"</string>
|
||||
<string name="exo_controls_pause_description">"විරාමය"</string>
|
||||
<string name="exo_controls_play_description">"ධාවනය කරන්න"</string>
|
||||
<string name="exo_controls_rewind_description">"නැවත ඔතන්න"</string>
|
||||
<string name="exo_controls_stop_description">"නතර කරන්න"</string>
|
||||
<string name="exo_controls_rewind_description">"නැවත ඔතන්න"</string>
|
||||
<string name="exo_controls_fastforward_description">"වේගයෙන් ඉදිරියට යන"</string>
|
||||
<string name="exo_controls_repeat_all_description">"සියලු නැවත"</string>
|
||||
<string name="exo_controls_repeat_off_description">"කිසිවක් නැවත"</string>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"Ďalšia stopa"</string>
|
||||
<string name="exo_controls_pause_description">"Pozastaviť"</string>
|
||||
<string name="exo_controls_play_description">"Prehrať"</string>
|
||||
<string name="exo_controls_rewind_description">"Pretočiť späť"</string>
|
||||
<string name="exo_controls_stop_description">"Zastaviť"</string>
|
||||
<string name="exo_controls_rewind_description">"Pretočiť späť"</string>
|
||||
<string name="exo_controls_fastforward_description">"Pretočiť dopredu"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Opakovať všetko"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Neopakovať"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Opakovať jednu položku"</string>
|
||||
<string name="exo_controls_shuffle_description">"Náhodne prehrávať"</string>
|
||||
<string name="exo_controls_fullscreen_description">Režim celej obrazovky</string>
|
||||
</resources>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Naslednja skladba"</string>
|
||||
<string name="exo_controls_pause_description">"Zaustavi"</string>
|
||||
<string name="exo_controls_play_description">"Predvajaj"</string>
|
||||
<string name="exo_controls_rewind_description">"Previj nazaj"</string>
|
||||
<string name="exo_controls_stop_description">"Ustavi"</string>
|
||||
<string name="exo_controls_rewind_description">"Previj nazaj"</string>
|
||||
<string name="exo_controls_fastforward_description">"Previj naprej"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Ponovi vse"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Ne ponovi"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Kënga tjetër"</string>
|
||||
<string name="exo_controls_pause_description">"Pauzë"</string>
|
||||
<string name="exo_controls_play_description">"Luaj"</string>
|
||||
<string name="exo_controls_rewind_description">"Kthehu pas"</string>
|
||||
<string name="exo_controls_stop_description">"Ndalo"</string>
|
||||
<string name="exo_controls_rewind_description">"Kthehu pas"</string>
|
||||
<string name="exo_controls_fastforward_description">"Përparo me shpejtësi"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Përsërit të gjithë"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Përsëritni asnjë"</string>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"Следећа песма"</string>
|
||||
<string name="exo_controls_pause_description">"Пауза"</string>
|
||||
<string name="exo_controls_play_description">"Пусти"</string>
|
||||
<string name="exo_controls_rewind_description">"Премотај уназад"</string>
|
||||
<string name="exo_controls_stop_description">"Заустави"</string>
|
||||
<string name="exo_controls_rewind_description">"Премотај уназад"</string>
|
||||
<string name="exo_controls_fastforward_description">"Премотај унапред"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Понови све"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Понављање је искључено"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Понови једну"</string>
|
||||
<string name="exo_controls_shuffle_description">"Пусти насумично"</string>
|
||||
<string name="exo_controls_fullscreen_description">Режим целог екрана</string>
|
||||
</resources>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"Nästa spår"</string>
|
||||
<string name="exo_controls_pause_description">"Pausa"</string>
|
||||
<string name="exo_controls_play_description">"Spela upp"</string>
|
||||
<string name="exo_controls_rewind_description">"Spola tillbaka"</string>
|
||||
<string name="exo_controls_stop_description">"Avbryt"</string>
|
||||
<string name="exo_controls_rewind_description">"Spola tillbaka"</string>
|
||||
<string name="exo_controls_fastforward_description">"Snabbspola framåt"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Upprepa alla"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Upprepa inga"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Upprepa en"</string>
|
||||
<string name="exo_controls_shuffle_description">"Blanda"</string>
|
||||
<string name="exo_controls_fullscreen_description">Helskärmsläge</string>
|
||||
</resources>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"Wimbo unaofuata"</string>
|
||||
<string name="exo_controls_pause_description">"Sitisha"</string>
|
||||
<string name="exo_controls_play_description">"Cheza"</string>
|
||||
<string name="exo_controls_rewind_description">"Rudisha nyuma"</string>
|
||||
<string name="exo_controls_stop_description">"Simamisha"</string>
|
||||
<string name="exo_controls_rewind_description">"Rudisha nyuma"</string>
|
||||
<string name="exo_controls_fastforward_description">"Peleka mbele kwa kasi"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Rudia zote"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Usirudie Yoyote"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Rudia Moja"</string>
|
||||
<string name="exo_controls_shuffle_description">"Changanya"</string>
|
||||
<string name="exo_controls_fullscreen_description">Hali ya skrini kamili</string>
|
||||
</resources>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"அடுத்த ட்ராக்"</string>
|
||||
<string name="exo_controls_pause_description">"இடைநிறுத்து"</string>
|
||||
<string name="exo_controls_play_description">"இயக்கு"</string>
|
||||
<string name="exo_controls_rewind_description">"மீண்டும் காட்டு"</string>
|
||||
<string name="exo_controls_stop_description">"நிறுத்து"</string>
|
||||
<string name="exo_controls_rewind_description">"மீண்டும் காட்டு"</string>
|
||||
<string name="exo_controls_fastforward_description">"வேகமாக முன்செல்"</string>
|
||||
<string name="exo_controls_repeat_all_description">"அனைத்தையும் மீண்டும் இயக்கு"</string>
|
||||
<string name="exo_controls_repeat_off_description">"எதையும் மீண்டும் இயக்காதே"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"తదుపరి ట్రాక్"</string>
|
||||
<string name="exo_controls_pause_description">"పాజ్ చేయి"</string>
|
||||
<string name="exo_controls_play_description">"ప్లే చేయి"</string>
|
||||
<string name="exo_controls_rewind_description">"రివైండ్ చేయి"</string>
|
||||
<string name="exo_controls_stop_description">"ఆపివేయి"</string>
|
||||
<string name="exo_controls_rewind_description">"రివైండ్ చేయి"</string>
|
||||
<string name="exo_controls_fastforward_description">"వేగంగా ఫార్వార్డ్ చేయి"</string>
|
||||
<string name="exo_controls_repeat_all_description">"అన్నీ పునరావృతం చేయి"</string>
|
||||
<string name="exo_controls_repeat_off_description">"ఏదీ పునరావృతం చేయవద్దు"</string>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"แทร็กถัดไป"</string>
|
||||
<string name="exo_controls_pause_description">"หยุดชั่วคราว"</string>
|
||||
<string name="exo_controls_play_description">"เล่น"</string>
|
||||
<string name="exo_controls_rewind_description">"กรอกลับ"</string>
|
||||
<string name="exo_controls_stop_description">"หยุด"</string>
|
||||
<string name="exo_controls_rewind_description">"กรอกลับ"</string>
|
||||
<string name="exo_controls_fastforward_description">"กรอไปข้างหน้า"</string>
|
||||
<string name="exo_controls_repeat_all_description">"เล่นซ้ำทั้งหมด"</string>
|
||||
<string name="exo_controls_repeat_off_description">"ไม่เล่นซ้ำ"</string>
|
||||
<string name="exo_controls_repeat_one_description">"เล่นซ้ำรายการเดียว"</string>
|
||||
<string name="exo_controls_shuffle_description">"สุ่มเพลง"</string>
|
||||
<string name="exo_controls_fullscreen_description">โหมดเต็มหน้าจอ</string>
|
||||
</resources>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"Susunod na track"</string>
|
||||
<string name="exo_controls_pause_description">"I-pause"</string>
|
||||
<string name="exo_controls_play_description">"I-play"</string>
|
||||
<string name="exo_controls_rewind_description">"I-rewind"</string>
|
||||
<string name="exo_controls_stop_description">"Ihinto"</string>
|
||||
<string name="exo_controls_rewind_description">"I-rewind"</string>
|
||||
<string name="exo_controls_fastforward_description">"I-fast forward"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Ulitin Lahat"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Walang Uulitin"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Ulitin ang Isa"</string>
|
||||
<string name="exo_controls_shuffle_description">"I-shuffle"</string>
|
||||
<string name="exo_controls_fullscreen_description">Fullscreen mode</string>
|
||||
</resources>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Sonraki parça"</string>
|
||||
<string name="exo_controls_pause_description">"Duraklat"</string>
|
||||
<string name="exo_controls_play_description">"Çal"</string>
|
||||
<string name="exo_controls_rewind_description">"Geri sar"</string>
|
||||
<string name="exo_controls_stop_description">"Durdur"</string>
|
||||
<string name="exo_controls_rewind_description">"Geri sar"</string>
|
||||
<string name="exo_controls_fastforward_description">"İleri sar"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Tümünü Tekrarla"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Hiçbirini Tekrarlama"</string>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"Наступна композиція"</string>
|
||||
<string name="exo_controls_pause_description">"Пауза"</string>
|
||||
<string name="exo_controls_play_description">"Відтворити"</string>
|
||||
<string name="exo_controls_rewind_description">"Перемотати назад"</string>
|
||||
<string name="exo_controls_stop_description">"Зупинити"</string>
|
||||
<string name="exo_controls_rewind_description">"Перемотати назад"</string>
|
||||
<string name="exo_controls_fastforward_description">"Перемотати вперед"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Повторити все"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Не повторювати"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Повторити один елемент"</string>
|
||||
<string name="exo_controls_shuffle_description">"Перемішати"</string>
|
||||
<string name="exo_controls_fullscreen_description">Повноекранний режим</string>
|
||||
</resources>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"اگلا ٹریک"</string>
|
||||
<string name="exo_controls_pause_description">"موقوف کریں"</string>
|
||||
<string name="exo_controls_play_description">"چلائیں"</string>
|
||||
<string name="exo_controls_rewind_description">"ریوائینڈ کریں"</string>
|
||||
<string name="exo_controls_stop_description">"روکیں"</string>
|
||||
<string name="exo_controls_rewind_description">"ریوائینڈ کریں"</string>
|
||||
<string name="exo_controls_fastforward_description">"تیزی سے فارورڈ کریں"</string>
|
||||
<string name="exo_controls_repeat_all_description">"سبھی کو دہرائیں"</string>
|
||||
<string name="exo_controls_repeat_off_description">"کسی کو نہ دہرائیں"</string>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<string name="exo_controls_next_description">"Keyingi musiqa"</string>
|
||||
<string name="exo_controls_pause_description">"To‘xtatib turish"</string>
|
||||
<string name="exo_controls_play_description">"Ijro qilish"</string>
|
||||
<string name="exo_controls_rewind_description">"Orqaga o‘tkazish"</string>
|
||||
<string name="exo_controls_stop_description">"To‘xtatish"</string>
|
||||
<string name="exo_controls_rewind_description">"Orqaga o‘tkazish"</string>
|
||||
<string name="exo_controls_fastforward_description">"Oldinga o‘tkazish"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Barchasini takrorlash"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Takrorlamaslik"</string>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"Bản nhạc tiếp theo"</string>
|
||||
<string name="exo_controls_pause_description">"Tạm dừng"</string>
|
||||
<string name="exo_controls_play_description">"Phát"</string>
|
||||
<string name="exo_controls_rewind_description">"Tua lại"</string>
|
||||
<string name="exo_controls_stop_description">"Ngừng"</string>
|
||||
<string name="exo_controls_rewind_description">"Tua lại"</string>
|
||||
<string name="exo_controls_fastforward_description">"Tua đi"</string>
|
||||
<string name="exo_controls_repeat_all_description">"Lặp lại tất cả"</string>
|
||||
<string name="exo_controls_repeat_off_description">"Không lặp lại"</string>
|
||||
<string name="exo_controls_repeat_one_description">"Lặp lại một mục"</string>
|
||||
<string name="exo_controls_shuffle_description">"Trộn bài"</string>
|
||||
<string name="exo_controls_fullscreen_description">Chế độ toàn màn hình</string>
|
||||
</resources>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"下一曲"</string>
|
||||
<string name="exo_controls_pause_description">"暂停"</string>
|
||||
<string name="exo_controls_play_description">"播放"</string>
|
||||
<string name="exo_controls_rewind_description">"快退"</string>
|
||||
<string name="exo_controls_stop_description">"停止"</string>
|
||||
<string name="exo_controls_rewind_description">"快退"</string>
|
||||
<string name="exo_controls_fastforward_description">"快进"</string>
|
||||
<string name="exo_controls_repeat_all_description">"重复播放全部"</string>
|
||||
<string name="exo_controls_repeat_off_description">"不重复播放"</string>
|
||||
<string name="exo_controls_repeat_one_description">"重复播放单个视频"</string>
|
||||
<string name="exo_controls_shuffle_description">"随机播放"</string>
|
||||
<string name="exo_controls_fullscreen_description">全屏模式</string>
|
||||
</resources>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"下一首曲目"</string>
|
||||
<string name="exo_controls_pause_description">"暫停"</string>
|
||||
<string name="exo_controls_play_description">"播放"</string>
|
||||
<string name="exo_controls_rewind_description">"倒帶"</string>
|
||||
<string name="exo_controls_stop_description">"停止"</string>
|
||||
<string name="exo_controls_rewind_description">"倒帶"</string>
|
||||
<string name="exo_controls_fastforward_description">"向前快轉"</string>
|
||||
<string name="exo_controls_repeat_all_description">"重複播放所有媒體項目"</string>
|
||||
<string name="exo_controls_repeat_off_description">"不重複播放任何媒體項目"</string>
|
||||
<string name="exo_controls_repeat_one_description">"重複播放一個媒體項目"</string>
|
||||
<string name="exo_controls_shuffle_description">"隨機播放"</string>
|
||||
<string name="exo_controls_fullscreen_description">全螢幕模式</string>
|
||||
</resources>
|
||||
|
@ -19,10 +19,12 @@
|
||||
<string name="exo_controls_next_description">"下一首曲目"</string>
|
||||
<string name="exo_controls_pause_description">"暫停"</string>
|
||||
<string name="exo_controls_play_description">"播放"</string>
|
||||
<string name="exo_controls_rewind_description">"倒轉"</string>
|
||||
<string name="exo_controls_stop_description">"停止"</string>
|
||||
<string name="exo_controls_rewind_description">"倒轉"</string>
|
||||
<string name="exo_controls_fastforward_description">"快轉"</string>
|
||||
<string name="exo_controls_repeat_all_description">"重複播放所有媒體項目"</string>
|
||||
<string name="exo_controls_repeat_off_description">"不重複播放"</string>
|
||||
<string name="exo_controls_repeat_one_description">"重複播放單一媒體項目"</string>
|
||||
<string name="exo_controls_shuffle_description">"隨機播放"</string>
|
||||
<string name="exo_controls_fullscreen_description">全螢幕模式</string>
|
||||
</resources>
|
||||
|