|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2003
Città: Lucca
Messaggi: 379
|
[Java2 ME] scansionare una cartella con file audio
Dopo aver capito come scansioanare i file all'interno di una cartella, avrei bisogno di effettuatre la seguente operazione:
Prendere tutti i file .wav all'interno della dir che scansiono oppure da un indirizzo web; Salvarli e Inserirli a runtime nel file JAD per fali riprodurre
__________________
God rides DUCATI! |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12093
|
Quote:
![]() Xkè li devi inserire nel .jad? ![]() Per salvare dei dati da usare nelle applicazioni di solito si usa il RecordStore.... quardati la documentazione di tutto il package javax.microedition.rms.... Per prendere tutti i file di un certo tipo invece basta usare la FileConnection API e in particolare il metodo list(java.lang.String filter, boolean includeHidden) che restituisce una Enumeration.
__________________
![]() |
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Sep 2003
Città: Lucca
Messaggi: 379
|
Dai tutorial che ho trovato ho vsto che tutti inserisco a manina i file nella dir res e nel JAD. Poi usano un player che scansiona il file Jad contente i percorsi dei file per riprodurli. Io invece non lo posso fare a priori, perché la mia applicazione si connette via http a un server, scarica il file salvato sul telefonino e poi lo riproduce in locale.
Non so quindi se devo per forza salvare i file dentro res e poi dire al Jad in qualche modo che è stato aggiunto un file nuovo... Quindi a quato ho capito che posso riprodurre i file salvati allinterno dei un recordStore? Come avviene ciò? Cmq controllo la documentazione... finora ho usato i recordstore per memorizzare primitive (stringhe, interi ecc...). vale dunque lo stesso metodo per i wav?
__________________
God rides DUCATI! |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12093
|
Quote:
I file vanno ovviamente sotto la cartella sounds (con certi cellulari se non sbaglio hai limitazioni di scrittura e ti potrebbe dare problemi a scrivere file audio in una cartella diverssa). Una volta che hai salvato i file audio nel posto giusto salvi nel recordstore le informazioni della playlist....
__________________
![]() |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Sep 2003
Città: Lucca
Messaggi: 379
|
Ho scritto un metodo con il seguente codice, ripreso da PDAPdemo del toolkit della sun:
Intanto, ecco come sono inizializzate le variabili: Codice:
private static final String MEGA_ROOT = "/"; private static final String UP_DIRECTORY = ".."; private static final char SEP = '/'; Codice:
Enumeration e; FileConnection currDir = null; List browser; try{ System.out.println("Dentro il try"); if(MEGA_ROOT.equals(currDirName)){ e = FileSystemRegistry.listRoots(); // browser = new List(MEGA_ROOT, List.IMPLICIT); theList = new List(MEGA_ROOT, List.IMPLICIT); }else{ currDir = (FileConnection)Connector.open("file://localhost/" + currDirName); e = currDir.list(); theList = new List(currDirName, List.IMPLICIT); // not root - draw UP_DIRECTORY theList.append(UP_DIRECTORY, dirIcon); } while(e.hasMoreElements()){ String fileName = (String)e.nextElement(); if(fileName.charAt(fileName.length()-1) == SEP){ theList.append(fileName,dirIcon); }else{ theList.append(fileName,fileIcon); } } theList.setSelectCommand(view); // if (!MEGA_ROOT.equals(currDirName)) { // theList.addCommand(prop); //theList.addCommand(creat); //theList.addCommand(delete); // } // theList.addCommand(exitCommand); //theList.setCommandListener(this); if (currDir != null) { currDir.close(); } Display.getDisplay(this).setCurrent(theList); }catch(IOException ioe){ ioe.printStackTrace(); } Ho visto che si pianta all'inizio del try, precisamente all'istruzione Codice:
e = FileSystemRegistry.listRoots();
__________________
God rides DUCATI! |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Sep 2003
Città: Lucca
Messaggi: 379
|
Ho risolto: lanciavo il metodo prima di inizializzare la variabile
![]()
__________________
God rides DUCATI! |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Sep 2003
Città: Lucca
Messaggi: 379
|
OK, ci siamo quasi...
Adesso con Codice:
e = FileSystemRegistry.listRoots();
__________________
God rides DUCATI! |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12093
|
Quote:
Lì non dovresti avere problemi ad accedere.
__________________
![]() |
|
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Sep 2003
Città: Lucca
Messaggi: 379
|
Quote:
![]() Dai tutorial che ho trovato in rete vedo che tutti file video e audio vengono messi nella cartella nomeapplicazione/res Esiste per caso una cartella specifica per i suoni?
__________________
God rides DUCATI! |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Sep 2003
Città: Lucca
Messaggi: 379
|
Da questo tutorial http://developers.sun.com/mobility/a...ileconnection/ pare che possa accedere soltanto alla cartella root1...
__________________
God rides DUCATI! |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:00.