パッケージフォルダに置いた動画ファイルを再生できない

1,736 views
Skip to first unread message

ロウキル

unread,
Nov 2, 2011, 1:36:20 AM11/2/11
to 日本Androidの会
お世話になっております。
VideoView にて動画の再生を行う処理を作成しています。
ネット上からファイル(mp4)をダウンロードしてきてパッケージフォルダの下にフォルダを作って
そのファイルを置くようにすると「動画が再生できません」と出て再生できません。
SDカードなどに置いた場合は動画再生できます。

ファイルをコピーする関数によって多少変わってきますが、
パッケージフォルダにネット上などからファイルを
コピーした場合に権限が( rw- rw- ---)のようになります。
実行権限(rwx の x)がない事が原因かと推測していますが、
x権限を付ける方法が分かりません。

また、上記は推測ですので、動画が再生できない理由がほかにあるようでしたら
なにとぞご教授お願い申し上げます。


よろしくお願い致します。

田代透

unread,
Nov 2, 2011, 10:54:51 AM11/2/11
to android-g...@googlegroups.com
xは実行権限なので再生(読み込み)にはr権限だけあれば足りると思いますよ。

その動画を格納しているフォルダの権限がアプリケーションにあるかの方が問題だと思います。
logをチェックしてみてはいかがでしょうか

2011年11月2日14:36 ロウキル <rou...@gmail.com>:

> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
>
>

--
--
Toru Tashiro
toru...@gmail.com

ロウキル

unread,
Nov 2, 2011, 10:35:12 PM11/2/11
to 日本Androidの会
ご連絡頂きましてありがとうございます。
x権限は関係なかったのですね・・・
VideoViewで動画を再生しようとして、アプリ自身のdata/data/パッケージ/フォルダに保存したファイルだと
ダメな理由はほかに何か考えられますでしょうか?
LogCatに表示された内容を以下に記載します。

11-03 11:25:51.170: E/Surface(5481): Surface::init token -2 identity
7239
11-03 11:25:51.225: W/MediaPlayer(5481): info/warning (1, 26)
11-03 11:25:51.225: E/MediaPlayer(5481): error (-4, -4)
11-03 11:25:51.235: I/MediaPlayer(5481): Info (1,26)
11-03 11:25:51.235: E/MediaPlayer(5481): Error (-4,-4)
11-03 11:25:51.235: D/VideoView(5481): Error: -4,-4
11-03 11:25:51.260: D/dalvikvm(5481): GC_EXTERNAL_ALLOC freed 182K,
51% free 2760K/5575K, external 923K/938K, paused 18ms

なにとぞよろしくお願い致します。

ロウキル

unread,
Nov 2, 2011, 10:39:13 PM11/2/11
to 日本Androidの会
ご連絡頂きまして誠にありがとうございます。
アプリ自身のパッケージフォルダ (data/data/パッケージ名/作成したフォルダ)の中に
動画ファイルをDLしてきて再生しようとしています。
LogCatの内容を以下に記載致します。

11-03 11:25:51.170: E/Surface(5481): Surface::init token -2 identity
723911-03 11:25:51.225: W/MediaPlayer(5481): info/warning (1, 26)11-03
11:25:51.225: E/MediaPlayer(5481): error (-4, -4)11-03 11:25:51.235: I/
MediaPlayer(5481): Info (1,26)11-03 11:25:51.235: E/MediaPlayer(5481):
Error (-4,-4)11-03 11:25:51.235: D/VideoView(5481): Error: -4,-411-03
11:25:51.260: D/dalvikvm(5481): GC_EXTERNAL_ALLOC freed 182K, 51% free
2760K/5575K, external 923K/938K, paused 18ms
なにとぞよろしくお願い致します。
On 11月2日, 午後11:54, 田代透 <toru2...@gmail.com> wrote:
> xは実行権限なので再生(読み込み)にはr権限だけあれば足りると思いますよ。
>
> その動画を格納しているフォルダの権限がアプリケーションにあるかの方が問題だと思います。
> logをチェックしてみてはいかがでしょうか
>
> 2011年11月2日14:36 ロウキル <rouk...@gmail.com>:
>
>
>
>
>
>
>
>
>
> > お世話になっております。
> > VideoView にて動画の再生を行う処理を作成しています。
> > ネット上からファイル(mp4)をダウンロードしてきてパッケージフォルダの下にフォルダを作って
> > そのファイルを置くようにすると「動画が再生できません」と出て再生できません。
> > SDカードなどに置いた場合は動画再生できます。
>
> > ファイルをコピーする関数によって多少変わってきますが、
> > パッケージフォルダにネット上などからファイルを
> > コピーした場合に権限が( rw- rw- ---)のようになります。
> > 実行権限(rwx の x)がない事が原因かと推測していますが、
> > x権限を付ける方法が分かりません。
>
> > また、上記は推測ですので、動画が再生できない理由がほかにあるようでしたら
> > なにとぞご教授お願い申し上げます。
>
> > よろしくお願い致します。
>
> > --
> > このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> > このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> > このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> > 詳細については、http://groups.google.com/group/android-group-japan?hl=jaからこのグループにアクセスしてください。
>
> --
> --
> Toru Tashiro
> toru2...@gmail.com

田代透

unread,
Nov 3, 2011, 3:21:37 PM11/3/11
to android-g...@googlegroups.com
エラーコードでぐぐってみると

こんな話もありましたよ。
http://d.hatena.ne.jp/rudi/20100705/1278334350

実際に再生したいファイルが指定の場所にあるのか、パスは間違っていないか、
プログラムからそのファイルを読み込みオープンできるのかは確認して見るべきことでしょう。

2011年11月3日11:39 ロウキル <rou...@gmail.com>:

ロウキル

unread,
Nov 4, 2011, 11:38:35 PM11/4/11
to 日本Androidの会
ご連絡頂きまして本当にありがとうございます。
ご連絡頂いたURLの方法(mediaplayerを使用する方法)で、InputStreamをセットすれば
動画の再生はできました。パス(data/data/パッケージ名/files の下の.mp4ファイル)
をセットする方法では動画を再生できませんと出ましたが。。。

MediaControllerを使用したいのでVideoViewを使用したいのですが、VideoViewには
InputStreamをセットするファンクションがありません。

ファイルの有無チェックは以下のように行っています。InputStreamでは再生できましたので
オープン自体は出来るかとおもいます。。。
ソースは以下のように記載しています。
動画ファイルは.mp4を再生しようとしてます。
また、Web上に置いた.mp4は再生できます(SetVideoPath を setVideoURI に変えた場合)
SD上においたファイルを再生できることも確認しましたが、パッケージフォルダ内(data/data/パッケージ名/files)
にある動画ファイルだけ再生できませんでした・・・

なにとぞよろしくお願い申し上げます。

【xml】
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/
android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<VideoView android:id="@+id/video"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>

【activity】
import java.io.File;

import roukiru.RLib.RFileOperater;
import android.app.Activity;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;

public class CollegeMovie extends Activity {

private Activity m_csActivity = null;
MediaPlayer mMediaPlayer;
boolean bf = false;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.student_movie4);

RFileOperater RFile = new RFileOperater(m_csActivity);
m_csActivity = this;
String filePath = "/data/data/" + m_csActivity.getPackageName() +
"/files/sample.mp4";

File csFile = new File(filePath);
if(csFile.exists()){
VideoView videoView = (VideoView)findViewById(R.id.video);
videoView.setMediaController(new MediaController(this));
videoView.setFocusable(true);
videoView.setVideoPath(filePath);
videoView.start();
}
}

}




On 11月4日, 午前4:21, 田代透 <toru2...@gmail.com> wrote:
> エラーコードでぐぐってみると
>
> こんな話もありましたよ。http://d.hatena.ne.jp/rudi/20100705/1278334350
>
> 実際に再生したいファイルが指定の場所にあるのか、パスは間違っていないか、
> プログラムからそのファイルを読み込みオープンできるのかは確認して見るべきことでしょう。
>
> 2011年11月3日11:39 ロウキル <rouk...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages