Wie kann ich auf Verzeichnisse assert bzw. raw zugreifen

A

AndyS11

Neues Mitglied
0
So, sitze jetzt schon über 5 Stunden an diesem behinderten Problem.

Ich habe im Verzeihnis raw 5 Videos. Mein ziel ist es nach dem richtigen Video zu suchen.

EIngabe wird als Text eingegeben und gesucht wird dann nach dem video welches diesen Text im Titel beinhaltet.

Die AUsgabe wird in ein Textview ausgegeben.

Wie greife ich auf die Paths der Verzeihnisse zu?

Code:
public void sucheStarten(View v){
        if(v.getId() == R.id.btn_suchen){
            AutoCompleteTextView txView = (AutoCompleteTextView) findViewById(R.id.txv_eingabe);
            String text = txView.getText().toString();
            TextView tv_ausgabe = (TextView) findViewById(R.id.txv_ausgabe);
            
            File f = new File("????");
            tv_ausgabe.append(String.valueOf(f.list().length));
        }
    }

Habe schon edliche Möglichkeiten versucht, aber keine hat funktioniert. So langsam gehen mir diese blöden Android Klassen am Nerv muss ich sagen.
 
Uri path = Uri.fromFile(new File("assets/"+VIDEO_NAME));

gibt mir zwar den richtigen Pfad zurück, aber der VideoView sagt Video kann nicht wiedergegeben werden.

Sonst nix.

Wieso kann das Video nicht widergegeben werden?
 
kann hier wer hellsehen ?

schau in den logcat - zeig uns deinen code - was ist das für ein video

wenn du hilfe willst, musst dir schon die mühe machen und hier paar infos posten.
 
schau in den logcat - zeig uns deinen code - was ist das für ein video

Code:
02-27 18:02:00.965: I/System.out(30225): debugger has settled (1429)
02-27 18:02:01.035: D/dalvikvm(30225): GC_EXTERNAL_ALLOC freed 43K, 50% free 2706K/5379K, external 0K/0K, paused 28ms
02-27 18:02:01.200: D/CLIPBOARD(30225): Hide Clipboard dialog at Starting input: finished by someone else... !
02-27 18:02:06.625: E/Surface(30225): Surface::init token -2 identity 2367
02-27 18:02:06.630: E/MediaPlayer(30225): setDataSource JAVA path 
02-27 18:02:06.630: E/MediaPlayer-JNI(30225): setDataSource: outside path in JNI is ?x@
02-27 18:02:06.640: E/MediaPlayer(30225): In prepareAsync
02-27 18:02:06.650: W/MediaPlayer(30225): info/warning (1, 26)
02-27 18:02:06.650: E/MediaPlayer(30225): error (-4, -4)
02-27 18:02:06.755: I/MediaPlayer(30225): Info (1,26)
02-27 18:02:06.755: E/MediaPlayer(30225): Error (-4,-4)
02-27 18:02:06.755: D/VideoView(30225): Error: -4,-4
02-27 18:02:06.800: D/dalvikvm(30225): GC_EXTERNAL_ALLOC freed 74K, 47% free 2913K/5447K, external 518K/518K, paused 18ms
02-27 18:02:06.870: W/IInputConnectionWrapper(30225): finishComposingText on inactive InputConnection
02-27 18:02:06.870: W/IInputConnectionWrapper(30225): finishComposingText on inactive InputConnection
02-27 18:02:15.959: W/KeyCharacterMap(30225): No keyboard for id 0
02-27 18:02:15.959: W/KeyCharacterMap(30225): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
02-27 18:02:23.985: E/Surface(30225): Surface::init token -2 identity 2378
02-27 18:02:23.990: E/MediaPlayer(30225): setDataSource JAVA path 
02-27 18:02:23.990: E/MediaPlayer-JNI(30225): setDataSource: outside path in JNI is ?x@
02-27 18:02:23.995: E/MediaPlayer(30225): In prepareAsync
02-27 18:02:24.010: W/MediaPlayer(30225): info/warning (1, 26)
02-27 18:02:24.015: E/MediaPlayer(30225): error (-4, -4)
02-27 18:02:24.075: I/MediaPlayer(30225): Info (1,26)
02-27 18:02:24.075: E/MediaPlayer(30225): Error (-4,-4)
02-27 18:02:24.075: D/VideoView(30225): Error: -4,-4

was ist das für ein video
Das ist ein avi Video. Auch 3gp Filme funktionieren nicht.

Wenn ich jedoch die Filme vom raw Ordner auslese funktioniert es bei beiden sehr gut!

Jedoch möchte ich aus anderen technischen Gründen und zur Übung den Asset nutzen.

Code habe ich schon gepostet:

Code:
package andyS.at;

import java.io.File;
import java.io.IOException;

import android.app.Activity;
import android.content.res.AssetFileDescriptor;
import android.content.res.AssetManager;
import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.Toast;
import android.widget.VideoView;

public class Video extends Activity{
    
    @Override
    protected void onCreate(Bundle savedInstanceState){
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.video);
        
        Uri path = Uri.fromFile(new File("assets/"+ SpracheNeuActivity.VIDEO_NAME)); 
        
        VideoView vv = (VideoView) findViewById(R.id.videoView1);
        vv.setMediaController(new MediaController(this));
        Toast.makeText(this, path.toString(), Toast.LENGTH_LONG).show();
        vv.setVideoPath(String.valueOf(path));
        vv.requestFocus();
        vv.start();
                
    }
    
}

Der übergebene Pfad ist richtig weil ich ihn ja mit einem Toast anzeige und er passt!!

Danke für deine Hilfe bisher;)
 
wenn es im asset ordner nicht geht und im raw schon, dann lass es im raw ordner

soweit ich weiß haben dateien im asset ordner eine maximale größe - eventuell sind deine dateien einfach zu groß

was ist da der größere übungseffekt ob du es vom raw oder vom asset ordner liest? ist ja genau das gleiche
 
was ist da der größere übungseffekt ob du es vom raw oder vom asset ordner liest? ist ja genau das gleiche

Ich schaffs dadurch nicht dynamisch das gesuchte Video anzuzeigen, da ich den Path so angeben muss, dass am Ende R.raw.VideoName.

Ich kann also nicht den gesuchten Namen zu einem gesamten Pathnamen hinzufügen.

So langsam glaube ich meine Applikation ist in Java generell nicht realisierbar. Hm naja. Komisch die ganze sache, obwohl es eigentlich so einfach sein sollte, schon eine große Hürde.

Also: Wie muss ich den Path schreiben wenn ich ihn nur aus Strings zusammensetzten will und es auch funktioniert?

Jetzt mache ich es so, aber es funktioniert nicht:

Code:
vv.setVideoURI(Uri.parse("android.resource://"+getPackageName()+ "/raw/" + SpracheNeuActivity.VIDEO_NAME));

Sonst irgendwelche Ideen?
 

Ähnliche Themen

M
  • MikelKatzengreis
Antworten
5
Aufrufe
118
swa00
swa00
S
Antworten
33
Aufrufe
2.659
Sempervivum
S
M
Antworten
3
Aufrufe
151
moin
M
Zurück
Oben Unten