gpt4 book ai didi

android - 方向改变和Android VideoPlayer?到底是怎么回事?

转载 作者:搜寻专家 更新时间:2023-11-01 08:11:38 26 4
gpt4 key购买 nike

我有以下代码,它在我手机的 SD 卡上的文本文件中搜索网络服务器上歌曲的 url。

我可以通过转动手机来改变方向来随机播放歌曲,但我不明白这种逻辑是从哪里来的。这是视频播放器的默认行为吗,因为我在我的代码中没有看到任何会以这种方式导致随机播放的内容。

是什么导致它像这样洗牌?如果是这种情况,我应该考虑如何关闭此功能?

我想同时保持水平和垂直方向,因此将其编码为保持在一个方向并不是我所追求的。

import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.util.Random;
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.widget.MediaController;
import android.widget.TextView;
import android.widget.VideoView;


public class MusicPlayerActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
File sdcard = Environment.getExternalStorageDirectory();
File file = new File(sdcard, "TestMus1.txt");

TextView textView1 = (TextView)findViewById(R.id.textView1);

try {
BufferedReader br = new BufferedReader(new InputStreamReader(new DataInputStream(new FileInputStream(file))));
LineNumberReader rdr = new LineNumberReader(br);

int min = 1;
int max = 1618;
Random r = new Random();
int someRandomNo = r.nextInt(max - min + 1) + min;
textView1.setText(Integer.toString(someRandomNo));
rdr.setLineNumber(someRandomNo);
int linenum = 0;
String theLine = "";
while (linenum < someRandomNo) {
theLine = br.readLine();
linenum++;
}
textView1.setText(theLine);

VideoView videoView = (VideoView) findViewById(R.id.VideoView);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
// Set Audio
Uri video = Uri.parse(theLine);
videoView.setMediaController(mediaController);
videoView.setVideoURI(video);
videoView.start();
}
catch (Exception e) {
//Error Handling
}
}
}

最佳答案

Orientation change 通常会再次调用 onCreate(),并以新配置重新启动 Activity。

确保您执行以下操作:

设置 Activity 的 list 以拦截方向更改事件

 android:configChanges="keyboardHidden|orientation"

覆盖 onConfigurationChanged()

OrientationChange 事件现在将调用 onConfigurationChanged() 而不是 onCreate()

@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.myLayout);
}

并阅读 this ,这是一份关于更快的方向改变的好文档。

关于android - 方向改变和Android VideoPlayer?到底是怎么回事?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9039833/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com