Reputation: 1719
In my android application i am trying to create a music file using create temp and trying to read that.Now i am able to create but its giving an error saying video cannot be played.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
//File newfile=new File("/data/data/com.ayansys.samplevideo/Music.3gp");
//String xyz=newfile.getAbsolutePath();
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); // Sets the window in full screen
setContentView(R.layout.main);
// path.g
// Log.i("Raw folder path:", R.raw.music);
String path= musicFile();
try{
Thread.sleep(5000);
}
catch(InterruptedException e)
{
e.printStackTrace();
Log.i("exception raised",e.toString());
}
mVideoView = (VideoView) findViewById(R.id.surface_view);
// mVideoView.setVideoURI(Uri.parse("android.resource://com.ayansys.samplevideo/"+R.raw.music));
// File infile=new File("/data/data/com.ayansys.samplevideo/Video.3gp");
mVideoView.setVideoPath(path);
mVideoView.requestFocus();
mVideoView.start();
}
public String musicFile()
{
String temPath = null;
try{
File outFile=File.createTempFile("music", ".3gp", getDir(temPath, MODE_PRIVATE));
temPath=outFile.getAbsolutePath();
FileOutputStream f=new FileOutputStream(outFile);
//FileOutputStream fos = openFileOutput("music.3gp", Context.MODE_PRIVATE);
URL u = new URL("http://59.162.166.211/aptv-web/VODAFONE/STARONE/SarabhaivsSarabhai/J2ME/SarabhaivsSarabhai_05.3gp");
HttpURLConnection c = (HttpURLConnection) u.openConnection();
c.setRequestMethod("GET");
c.setDoOutput(true);
c.connect();
//FileOutputStream f = new FileOutputStream(new File("/sdcard/videooutput.mp4"));
InputStream in = c.getInputStream();
byte[] buffer = new byte[1024];
int len1 = 0;
while ( (len1 = in.read(buffer))!= -1 ) {
f.write(buffer,0,len1);
}
f.close();
String str=outFile.getAbsolutePath();
//outFile..close();
in.close();
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Exception raised in creating a file: "+e.toString());
}
return temPath;
}
}
I would like to play this. Please share your valuable suggestions.
Thanks in advance
Upvotes: 0
Views: 14700
Reputation: 12334
Context.openFileOutput(String name, int mode)
opens a file on the internal storage.
I suggest you read the Android Data Storage Guide as it covers both internal and external storage concerns.
Upvotes: 3