Question

Comme le sujet de ce post l'indique, je suis à la recherche à développer une suite comme nero qui aide à graver des disques Bluray. Je suis un peu désemparés quant à où commencer. Y at-il quelque chose dans l'API Java qui vous permet de le faire? Si je devais recommencer à zéro, ce que je dois commencer par la spécification du disque Blu-ray? Y a-t-il des outils open source qui font déjà cela? J'ai essayé de chercher à sourceforge.net et n'a rien trouvé utile. Toute aide est très appréciée.

Était-ce utile?

La solution

Pour commencer l'évidence: connaître vos besoins et outils. Je devine ici essaie, peut-être.

Exigences:

  1. doit graver des disques BluRay
  2. Interface utilisateur graphique

Outil préféré:

  • Java

Maintenant, Java, étant peut-être le meilleur exemple d'une langue VM à partir des 90es, réalise sa plate-forme agnosticisme relativement bonne en raison de sa machine virtuelle. Il est une langue conçu pour exécuter sur un virtuel matériel pour faciliter la portabilité du matériel réel.

Maintenant, ce qui vient avec ce fait est que vous abstraire beaucoup de choses que vous auriez à se soucier, comme les détails de gestion de mémoire et de l'architecture ou la plate-forme spécifiques. Parmi ces choses que vous ne pouvez pas fiable obtenir l'accès à du matériel est. Après tout, vous Abstraite la plupart de cette distance.

Maintenant, pour graver un disque Blu-ray vous Vous pour accéder au matériel, en particulier l'écrivain BluRay. Non qu'il est impossible, mais Java est, à mon humble avis, pas le bon outil pour cela. Vous pouvez sortir de votre chemin en mettant en place une bibliothèque en C ou C ++ et en utilisant JNI / JNA pour accéder à cette mais en regardant cela, qu'est-ce que vous gagnez vraiment?

Java est généralement un choix lorsque vous avez besoin d'une langue de haut niveau assez moderne avec une grande bibliothèque standard et vous devez également vos programmes pour fonctionner sur plusieurs plates-formes. Ce sont les principaux cas d'utilisation. Il est impossible avec d'autres technologies, mais peut-être plus difficile à atteindre, en fonction de ce que vous avez besoin exactement.

Si vous implémentez une bibliothèque native de parler à l'écrivain BluRay et parler à celui de Java, alors vous devez nécessairement réimplémenter pour d'autres plates-formes aussi bien (en supposant que ce que vous voulez, sinon, puis de nouveau: Pourquoi Java?).

Version TL / DR: Mon point est que ce n'est pas trop surprenant que vous ne trouvez pas beaucoup sur ce sujet exactement. D'une part, Java n'a pas été vraiment conçu pour faire ce genre de choses. La plupart des Java / Interop natif réside dans la machine virtuelle Java et qui est déjà un très grand nombre de code. Ne vous attendez pas Java pour supporter nativement des scénarios d'utilisation très rares tels que les CD / DVD / Blu-ray brûlant. En second lieu, BluRay est une technologie relativement nouvelle avec des écrivains pas encore du matériel commun dans les ordinateurs tels que les graveurs de CD / DVD, de sorte que le manque de bibliothèques et d'outils peut aussi être un miroir des exigences actuelles du marché.

Autres conseils

accès matériel à faible niveau est tout simplement pas possible en Java pur à moins que ce soit dans l'API standard, qui est Bluray pas.

Par conséquent, vous devrez utiliser le code non-Java pour accéder au matériel; à ce moment-là vous perdez la plate-forme de Java independance, et nécessairement un système en plusieurs langues, ce qui est toujours plus pénible à programmer que d'utiliser une seule langue.

Cependant, si vous pouvez trouver (ou, je suppose, de développer) un outil en ligne multi-plate-forme API d'écriture Bluray ou une commande dans (le plus probable) C, alors il pourrait encore faire sens d'écrire le reste de l'application en Java comme un wrapper GUI avec des fonctionnalités supplémentaires.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top