magicman Δημοσιεύτηκε Δεκέμβριος 29, 2009 #1 Δημοσιεύτηκε Δεκέμβριος 29, 2009 καλησπερα, κ χρονια πολλα!οτι λεει ο τιτλος, ειναι σε java swing, δλδ εχει jsliders, που αλλαζουν τιμες σε labels, θελω να το επεκτεινω, ωστε η αλλαγες να γινονται σε real-time σε ηχο κανονικο...βρηκα την java sound στο api..αλλα δεν βρισκω τις μεθοδους που θελώ....καμια βοηθεια απο τους τζαβαδες του φορουμ????ευχαριστω!
Jaco Δεκέμβριος 29, 2009 #2 Δεκέμβριος 29, 2009 Τι εννοείς λέγοντας ότι δεν βρίσκεις τις μεθόδους που θες...?Λογικά το object σου κάνει expose κάποια public members και functions και το implementation από πίσω, κάνει την δουλειά που πρέπει... αν εσύ θέλεις να αλλάξεις την λειτουργία του, τότε θα πρέπει να κάνεις override το υπάρχον implementation και να κάνεις αυτό που θες, όπως το θες φτιάχνοντας δικό σου object που κάνει inherit την library που έχεις... αυτό ισχύει αν η library που έχεις είναι ήδη linked ή όχι... αλλά αν έχεις και το source code πας απευθείας και το κάνεις από εκεί, πράγμα το οποίο συνήθως δεν είναι η ιδανική λύση...
magicman Δεκέμβριος 30, 2009 Author #3 Δεκέμβριος 30, 2009 import javax.sound.sampled.AudioInputStream;import javax.sound.sampled.AudioSystem;import javax.sound.sampled.*;import java.io.File;import java.io.IOException;εχω χρησιμοποιεισει μεχρι τωρα αυτα...λοιπον με ενα διαβασμα που εκανα, υπαρχει το sampled , το midi ,http://java.sun.com/j2se/1.5.0/docs/guide/sound/programmer_guide/chapter1.htmlμεχτι τωρα εχω κανει τα buttons play, stop.τωρα ψαχνω για το volume..εχω βρει αυτο http://java.sun.com/j2se/1.4.2/docs/api/javax/sound/sampled/FloatControl.Type.htmlαπο οσο καταλαβα, η java παιζει κ με τα bytesarrays, αν θελεις να γινεις low-level...το παραπανω τωρα ψαχνω να δω πως θα χρησιμοποιησω..@jaco, αν θελεις ριξε μια ματια σε αυτα...ηθελα να πω, οτι νομιζα οτι υπαρχουν ετοιμες μεθοδους...αλλα δεν υπαρχουν... το μονο που βρηκα ειναι αυτο στο παραπανω λινκ..
Jaco Δεκέμβριος 31, 2009 #4 Δεκέμβριος 31, 2009 To FloatControl.Type είναι απλά ένα control object, το οποίο, το υποστηρίζει ένα audio interface της java... στην ουσία αυτό που πρέπει να κάνεις είναι να δημιουργήσεις ένα νέο instance ενός FloatControl object, το οποίο θα το φορτώσεις με το floatcontrol του interface και θα χειριστείς τις μεθόδους του από το instance...Δηλ...:FloatControl mstGain = (FloatControl) <το audio interface που έχεις δηλώσει>.getControl( FloatControl.Type.MASTER_GAIN );και μετά με την setValue αλλάζεις την τιμή του...mstGain.setValue( 98.0F );Μέχρι εκεί μπορώ να σε πάω βάση του documentation, δεν το έχω χρησιμοποιήσει, οπότε από εδώ και πέρα πειραματίζεσαι...Εδιτ...:Για byte arrays και τέτοια ξέχνα το, γιατί πρέπει να φτιάξεις δικούς σου audio circular buffers (για καλύτερο memory management) και να καταναλώνεις μετά τα δεδομένα, πράγμα το οποίο θέλει πείρα, γιατί πρέπει να είναι ταχύτατο, οπότε συνεχίζεις με έτοιμες classes, οι οποίες θεωρητικά είναι trimmed...
magicman Δεκέμβριος 31, 2009 Author #5 Δεκέμβριος 31, 2009 με το floatcontrol θα προσπαθησω να παιξω.. βρηκα κ πολλα πραγματα με bytes arrays.. κ αλλα μεχρι κ λογαριθμους ειχε μεσα πανω κατω εχω καταλαβει την δομη .... ευχαριστω κ παλι. θα ενημερωσω τι εκανα...
magicman Δεκέμβριος 31, 2009 Author #6 Δεκέμβριος 31, 2009 με το floatcontrol θα προσπαθησω να παιξω.. βρηκα κ πολλα πραγματα με bytes arrays.. κ αλλα μεχρι κ λογαριθμους ειχε μεσα πανω κατω εχω καταλαβει την δομη .... ευχαριστω κ παλι. θα ενημερωσω τι εκανα... edit... παιρνω ενα ωραιο java.lang.IllegalArgumentException: Master Gain not supported ψαχνω να βρω τι ειναι...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.