Domanda

Come il soggetto di questo post suggerisce, sto cercando di sviluppare una suite come Nero che aiuta a bruciare i dischi BluRay. Sono specie di clueless quanto a dove cominciare. C'è qualcosa in API Java che ti permette di fare questo? Se dovessi ripartire da zero, avrei bisogno di iniziare con le specifiche del disco Blu-ray? Ci sono strumenti open source che stanno già facendo questo? Ho provato a cercare su sourceforge.net e ho trovato nulla di utile. Ogni aiuto è molto apprezzato.

È stato utile?

Soluzione

Per iniziare con l'ovvio: conoscere le vostre esigenze e gli strumenti. Provo a indovinare qui, forse.

Requisiti:

  1. Dovrebbe masterizzare dischi BluRay
  2. Interfaccia utente grafica

strumento preferito:

  • Java

Ora, Java, essendo forse il primo esempio di un linguaggio VM dagli anni 90, raggiunge il suo relativamente buona piattaforma-agnosticismo in virtù della sua VM. E 'un linguaggio progettato per l'esecuzione su un virtual hardware per facilitare la portabilità di hardware reale.

Ora, ciò che viene con questo fatto è che si astratti via molte cose che avrebbe dovuto preoccuparsi, come i dettagli di gestione della memoria e l'architettura o piattaforma-specifiche. Tra quelle cose che non si può in modo affidabile ottiene l'accesso a è l'hardware. Dopo tutto, si astrae la maggior parte di quello via.

Ora, per masterizzare un disco BluRay sono per accedere all'hardware, in particolare lo scrittore BluRay. Non che sia impossibile, ma Java è, a mio modesto parere, non è lo strumento giusto per questo. Si può andare dal tuo modo mediante l'attuazione di una libreria in C o C ++ e utilizzando JNI / JNA per accedere a tale ma guardando questo, ciò che non si ha realmente guadagnare?

Java è di solito una scelta quando si ha bisogno di un abbastanza moderno linguaggio di alto livello con una grande libreria standard ed è necessario anche i programmi per funzionare su più di una piattaforma. Questi sono i casi d'uso primari. Non è impossibile con altre tecnologie, ma forse più difficile da raggiungere, a seconda di cosa esattamente è necessario.

Se si implementa una libreria nativa per parlare con lo scrittore BluRay e parlare con quella da Java, allora avete necessariamente bisogno di re-implementare per altre piattaforme (partendo dal presupposto che è quello che vuoi, se non, poi di nuovo: perché Java?).

versione TL / DR: Il mio punto è che non è troppo sorprendente che non si può trovare molto sulla esattamente questo argomento. Per uno, Java non è mai stato progettato per fare questo genere di cose. La maggior parte del / interoperabilità nativa di Java risiede nella JVM e questo è già un sacco di codice. Non aspettatevi Java per supportare nativamente scenari di utilizzo molto rare come CD / DVD / BluRay masterizzazione. In secondo luogo, BluRay è una tecnologia relativamente nuova con gli scrittori non ancora hardware comune nei computer, come masterizzatori CD / DVD, quindi la mancanza di librerie e strumenti può anche essere uno specchio delle attuali esigenze del mercato.

Altri suggerimenti

l'accesso hardware a basso livello non è semplicemente possibile in puro Java meno che non sia nelle API standard, che Blu-ray non è.

Di conseguenza, sarà necessario utilizzare il codice non-Java per accedere all'hardware; a quel punto si perde la piattaforma-indipendenza di Java, e necessariamente avere un sistema multi-lingua, che è sempre più doloroso da programmare rispetto all'utilizzo di una sola lingua.

Tuttavia, se è possibile trovare (o, suppongo, sviluppare) un multi-piattaforma di Bluray scrittura strumento API o riga di comando in (molto probabilmente) C, allora potrebbe ancora avere un senso di scrivere il resto della applicazione in Java come un wrapper GUI con funzionalità aggiuntive.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top