Σχεδιασμός και υλοποίηση ενός έξυπνου παιχνιδιού για τη συναισθηματική
παρακολούθηση και το γονικό έλεγχο ενός παιδιού
42
Στην παρούσα διπλωματική εργασία η δημιουργία νημάτων καθίσταται
απαραίτητη, καθώς είναι απαραίτητο να εκτελούνται ταυτόχρονα κάποιες λειτουργίες
του συστήματος, χωρίς η εφαρμογή να μένει εν αναμονή ολοκλήρωσής τους.
2.6 Βιβλιοθήκη Mpg123
Η διανομή του mpg123 περιλαμβάνει έναν πραγματικού χρόνου αναπαραγωγέα-
αποκωδικοποιητή ήχου για τα επίπεδα 1, 2 και 3, με πιο συνηθισμένο τον MPEG 1.0
επιπέδου 3, δηλαδή MP3. Επιπλέον περιλαμβάνει δύο επαναχρησιμοποιήσιμες
βιβλιοθήκες, αποκωδικοποίησης και εξαγωγής, την libmpg123 και την libout123,
αντίστοιχα. Μεταξύ άλλων, λειτουργεί σε GNU/Linux, MacOSX, BSDs, Solaris, AIX,
HPUX, SGI Irix, OS/2 και Cygwin ή και σε MS Windows. Είναι ελεύθερο λογισμικό με
άδεια LGPL 2.1.
Στην παρούσα διπλωματική χρησιμοποιήθηκαν η βιβλιοθήκη libmpg123 του
λογισμικού και μία αντίστοιχης λειτουργίας με τη libout123, η libao για την ανάπτυξη
αλγορίθμου αναπαραγωγής MP3 ήχων.
H βιβλιοθήκη libmpg123 μεταξύ των άλλων προσφέρει [14]:
● Αποκωδικοποίηση των ακουστικών ρευμάτων MPEG 1.0/2.0/2.5 επιπέδου 1, 2
και 3 σε PCM
● Αναζήτηση ακριβούς δείγματος και αναπαραγωγή χωρίς κενά μέσω του LAME
πλαισίου πληροφοριών
● Επιλογές για την κωδικοποίηση του δείγματος, από οκτώ bit μlaw σε τριάντα δύο
bit ακολουθία
● Assembly/SIMD βελτιστοποιήσεις για τις λειτουργίες κωδικοποίησης και
αποκωδικοποίησης των δειγμάτων
● Επιλογές μεταξύ ακρίβειας και αποδοτικότητας
● Διακριτικό χειρισμό των λαθών στα ρεύματα
● Συντελεστές προσαύξησης συχνότητας ήχου για ισοσταθμιστές χωρίς κόστος
● Ένταση ήχου μέσω συντελεστή προσαύξησης χωρίς επιβάρυνση της CPU