我開發了一個應用程序來搜索和播放視頻,在我的項目中,我面臨着難以將搜索到的視頻路徑傳遞到視頻播放活動的難題。當我將視頻的實際路徑直接放入播放器活動中時,它會記錄視頻,但是如果我從意圖獲取視頻名稱,然後將其轉換爲該視頻的路徑。它不會得到paly。和我的程序不顯示任何錯誤 我不能讓我從它顯示「空」的第一個活動傳遞時,我設置的數據到TextView的請幫我恢復這個問題如何在android中爲url類型連接多個字符串
這是我的第一個意向數據活動
public class FirstActivity extends Activity {
EditText et;
Button bt;
String filename;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.firstscreen);
et = (EditText)findViewById(R.id.editText1);
filename = et.getText().toString();
bt = (Button)findViewById(R.id.button1);
final Intent i = new Intent(this, MainActivity.class);
i.putExtra("text_label", filename);
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
startActivity(i);
}
});
}
}
這是我的第二個活動視頻播放器
public class MainActivity extends Activity implementsSurfaceHolder.Callback{
MediaPlayer mediaPlayer;
urfaceView surfaceView;
SurfaceHolder surfaceHolder;
boolean pausing = false;;
String uriString;
String stringPaths= "/sdcard/video/";
String stringPath;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button buttonPlayVideo = (Button)findViewById(R.id.playvideoplayer);
Button buttonPauseVideo = (Button)findViewById(R.id.pausevideoplayer);
Intent i = getIntent();
uriString = i.getStringExtra("text_label");
stringPath = stringPaths+uriString+".3gp";
getWindow().setFormat(PixelFormat.UNKNOWN);
surfaceView = (SurfaceView)findViewById(R.id.surfaceview);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
surfaceHolder.setFixedSize(176, 300);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mediaPlayer = new MediaPlayer();
buttonPlayVideo.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
pausing = false;
if(mediaPlayer.isPlaying()){
mediaPlayer.reset();
}
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDisplay(surfaceHolder);
try {
mediaPlayer.setDataSource(stringPath);
mediaPlayer.prepare();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mediaPlayer.start();
}});
buttonPauseVideo.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(pausing){
pausing = false;
mediaPlayer.start();
}
else{
pausing = true;
mediaPlayer.pause();
}
}});
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
// TODO Auto-generated method stub
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub
}
}
所以這裏是我的曲我提出 1.我是否正確地將意圖傳遞給第二項活動。 2.我應該如何連接獲取意圖數據與文件路徑字符串。
請幫我一下 即時通訊。
我沒有看到任何明顯的問題。您是否嘗試過註銷並比較準備好的字符串與傳入dataSource調用的字符串?另外,你應該考慮看看Android VideoView,它比SurfaceViews更容易使用 – 2015-03-25 03:05:07
我使用視頻視圖,但它不會播放我的視頻,請在我的應用程序中建議任何鏈接以使用視頻視圖 – 2015-03-25 03:40:07