nIn Pubblicato: 27 Novembre 2011 Segnalazione Share Pubblicato: 27 Novembre 2011 Ciao a tutti sono nuovo su questo forum. Mi sto avvicinando al mondo della programmazione mobile e sto sviluppando un'applicazzione per cell. tipo call recorder per la registrazione delle chiamate. Il problema si pone al momento del salvataggio del file audio registrato perchè non so se usare l'RMS o salvare il file audio usando il File System e quindi in una qualsiasi dir. Cosa è meglio secondo voi? Grazie nIn Link to comment Condividi su altri siti More sharing options...
memoryn70 Pubblicato: 27 Novembre 2011 Segnalazione Share Pubblicato: 27 Novembre 2011 Ciao a tutti sono nuovo su questo forum. Mi sto avvicinando al mondo della programmazione mobile e sto sviluppando un'applicazzione per cell. tipo call recorder per la registrazione delle chiamate. Il problema si pone al momento del salvataggio del file audio registrato perchè non so se usare l'RMS o salvare il file audio usando il File System e quindi in una qualsiasi dir. Cosa è meglio secondo voi? Grazie nIn Beh intanto immagino tu stia parlando di Java. Io direi che sicuramente è meglio usare il filesystem. Cosi poi uno si può copiare i file dove vuole e ascoltarseli come vuole. Però se mancano i permessi ciò non funziona. Se non è troppo difficile potresti implementarli anche tutti e due. Consiglio il filesystem però Link to comment Condividi su altri siti More sharing options...
nIn Pubblicato: 28 Novembre 2011 Autore Segnalazione Share Pubblicato: 28 Novembre 2011 Beh intanto immagino tu stia parlando di Java. Io direi che sicuramente è meglio usare il filesystem. Cosi poi uno si può copiare i file dove vuole e ascoltarseli come vuole. Però se mancano i permessi ciò non funziona. Se non è troppo difficile potresti implementarli anche tutti e due. Consiglio il filesystem però Ciao memoryn70 innanzitutto ti ringrazio per il consiglio. Si sto parlando di J2ME ed è sempre difficile risolvere i vari intoppi nello sviluppo di una app quando si è novelli in un determinato linguaggio di programmazione. Sono riuscito a salvare il file in uno stream ma ovviamente quando esco dall'app lo perdo. Ho cercato allora di accedere al file System attraverso un comando tipo: rControl.setRecordLocation("file:///test.wav"); ma ottengo un errore di dir non valida. Ti posto il codice, magari tu sai dirmi velocemente dove sbaglio: public void registraNota() { try { int tempo = 3000; //creo il player partendo dalla sorgente dati ("capture://audio") player = Manager.createPlayer("capture://audio"); System.out.println("sono dopo player"); player.realize(); System.out.println("sono dopo realize"); //creo un RecordControl per poter registrare l'audio. Questo viene ottenuto //dal Player passando come stringa il nome: "RecordControl" recordControl = (RecordControl) player.getControl("RecordControl"); System.out.println("sono dopo getcontrol"); //istanzio ora un ByteArrayOutputStream su cui scrivere i dati che vengono registrati //baos = new ByteArrayOutputStream(); //recordControl.setRecordStream(baos); ******riesco ad arrivare fin qua. Praticamenente non riesco ad eseguire il comando successivo. ******Ho provato anche con altri schemi tipo: ("file:///audio.wav") e altri ma niente.... recordControl.setRecordLocation("file:/audio.wav"); ************************************************************************************************ contentType = recordControl.getContentType(); recordControl.startRecord(); player.start(); Thread.currentThread().sleep(tempo); recordControl.commit(); player.close(); f.append(contentType + " è il formato utilizzato \n"); f.append("registrazione conclusa \n"); d.setCurrent(f); // salvaNotaInFS(); registrazione = true; //storicizzo nota in RMS //salvaNotaInRMS(); } catch (IOException ex) { ex.printStackTrace(); f.append(ex.toString() + "\n"); } catch (MediaException ex) { ex.printStackTrace(); f.append(ex.toString() + "\n"); } catch (InterruptedException ex) { ex.printStackTrace(); f.append(ex.toString() + "\n"); } catch (Exception ex) { ex.printStackTrace(); f.append(ex.toString() + "\n"); } } Sapresti darmi una dritta? ti ringrazio molto nIn Link to comment Condividi su altri siti More sharing options...
memoryn70 Pubblicato: 2 Dicembre 2011 Segnalazione Share Pubblicato: 2 Dicembre 2011 (modificato) Ciao memoryn70 innanzitutto ti ringrazio per il consiglio. Si sto parlando di J2ME ed è sempre difficile risolvere i vari intoppi nello sviluppo di una app quando si è novelli in un determinato linguaggio di programmazione. Sono riuscito a salvare il file in uno stream ma ovviamente quando esco dall'app lo perdo. Ho cercato allora di accedere al file System attraverso un comando tipo: rControl.setRecordLocation("file:///test.wav"); ma ottengo un errore di dir non valida. Ti posto il codice, magari tu sai dirmi velocemente dove sbaglio: public void registraNota() { try { int tempo = 3000; //creo il player partendo dalla sorgente dati ("capture://audio") player = Manager.createPlayer("capture://audio"); System.out.println("sono dopo player"); player.realize(); System.out.println("sono dopo realize"); //creo un RecordControl per poter registrare l'audio. Questo viene ottenuto //dal Player passando come stringa il nome: "RecordControl" recordControl = (RecordControl) player.getControl("RecordControl"); System.out.println("sono dopo getcontrol"); //istanzio ora un ByteArrayOutputStream su cui scrivere i dati che vengono registrati //baos = new ByteArrayOutputStream(); //recordControl.setRecordStream(baos); ******riesco ad arrivare fin qua. Praticamenente non riesco ad eseguire il comando successivo. ******Ho provato anche con altri schemi tipo: ("file:///audio.wav") e altri ma niente.... recordControl.setRecordLocation("file:/audio.wav"); ************************************************************************************************ contentType = recordControl.getContentType(); recordControl.startRecord(); player.start(); Thread.currentThread().sleep(tempo); recordControl.commit(); player.close(); f.append(contentType + " è il formato utilizzato \n"); f.append("registrazione conclusa \n"); d.setCurrent(f); // salvaNotaInFS(); registrazione = true; //storicizzo nota in RMS //salvaNotaInRMS(); } catch (IOException ex) { ex.printStackTrace(); f.append(ex.toString() + "\n"); } catch (MediaException ex) { ex.printStackTrace(); f.append(ex.toString() + "\n"); } catch (InterruptedException ex) { ex.printStackTrace(); f.append(ex.toString() + "\n"); } catch (Exception ex) { ex.printStackTrace(); f.append(ex.toString() + "\n"); } } Sapresti darmi una dritta? ti ringrazio molto nIn Uhm non ti saprei dire come il Java gestisce il layer che interfaccia il filesystem alle sue librerie, ma immagino sia simile a come le vedi su i filemanager. Per toglierti i dubbi, prova a stampare a schermo il listato delle cartelle in file:// oppure file://C:\\ cmq prova rControl.setRecordLocation("file:///C:\\test.wav"); /* O meglio con // */ EDIT: oppure usa direttamente "C:\\blabla" ma non credo...prova a verti un attimo la documentazione cosa dice Ciao Modificato 2 Dicembre 2011 da memoryn70 Link to comment Condividi su altri siti More sharing options...
nIn Pubblicato: 3 Dicembre 2011 Autore Segnalazione Share Pubblicato: 3 Dicembre 2011 Ok Memoty70 ti ringrazio ancora. Provero a vedere in giro se trovo qualcosa di utile. nIn Link to comment Condividi su altri siti More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Accedi Ora