Aller au contenu

[Tuto-Dev] Intégration DTS Sound


Recommended Posts

Je vous présente mon tuto pour intégrer nativement le DTS sur les roms custom. (et peu servir pour les autres Acer avec le DTS, il faudra juste revoir les drivers / licence DTS, mais ce tuto est destiné principalement au E2)

Pré-requis :
-Apk Tool 2.0
-Rom KitKat (une basée sur les sources Mediatek)
-Un peu d'expérience (smali, const public...), patience, être un minimum débrouillard
-Notepad++ (ou autre)
-7-Zip

-Téléchargez le "Pack-Settings-DTS"

-"Pack-System-DTS" (a la fin du tuto)


Étape 1 :

-Installer le framework-res ainsi que celui de Mediatek dans Apk tool (plus les autres framework selon la rom)
-Décompiler Settings.apk
-Ajouter -2 dans apktool.yml (voir -9 ou -10 selon la rom)

  ids:
  - 1
  - 2

-Décompresser le pack "Pack-Settings-DTS.7z" dans votre Settings décompilé auparavant

-Ouvrez le fichier settings_headers.xml dans /res/xml et ajoutez cette ligne, enregistrez

<header android:icon="@drawable/ic_settings_srs" android:id="@id/srs_settings" android:title="@string/srs_settings" android:fragment="com.android.settings.SrsSettings" />

après <header android:icon="@drawable/ic_settings_sound" android:id="@id/sound_settings" android:title="@string/sound_settings" android:fragment="com.mediatek.audioprofile.RingerVolumePreference" />.

 

-Ouvrez le fichier strings.xml dans /res/values et ajoutez ces entrées (il faut qu'elles soit comprises entre <resources> </resources>), enregistrez.

    <string name="srs_settings">DTS Studio Sound</string>
    <string name="srs_sound_enable">DTS Studio Sound</string>
    <string name="treble">Treble</string>
    <string name="bass">Bass</string>
    <string name="music_eq">Music EQ</string>
    <string name="music_eq_summary">%1$s</string>
    <string name="video_eq">Video EQ</string>
    <string name="video_eq_summary">%1$s</string>
    <string name="srs_musiceq_entries_flat">Flat</string>
    <string name="srs_musiceq_entries_classical">Classical</string>
    <string name="srs_musiceq_entries_dance">Dance</string>
    <string name="srs_musiceq_entries_jazz">Jazz</string>
    <string name="srs_musiceq_entries_pop">Pop</string>
    <string name="srs_musiceq_entries_rock">Rock</string>
    <string name="srs_videoeq_entries_flat">Flat</string>
    <string name="srs_videoeq_entries_drama">Drama</string>
    <string name="srs_videoeq_entries_action">Action</string>
    <string name="srs_videoeq_entries_mtv">MTV</string>

-Ouvrez le fichier strings.xml dans /res/values-fr (ou autres langues, adaptez selon vos besoins, étape facultative) et ajoutez ces entrées (il faut qu'elles soit comprises entre <resources> </resources>), enregistrez.

    <string name="srs_settings">Amélioration son DTS</string>
    <string name="srs_sound_enable">Activer DTS</string>
    <string name="treble">Aigus</string>
    <string name="bass">Basses</string>
    <string name="music_eq">EQ Musical</string>
    <string name="video_eq">EQ vidéo</string>

-Ouvrez le fichier arrays.xml dans /res/values et ajoutez ces entrées, (il faut qu'elles soit comprises entre <resources> </resources>), enregistrez.

    <string-array name="srs_musiceq_entries">
        <item>@string/srs_musiceq_entries_flat</item>
        <item>@string/srs_musiceq_entries_classical</item>
        <item>@string/srs_musiceq_entries_dance</item>
        <item>@string/srs_musiceq_entries_jazz</item>
        <item>@string/srs_musiceq_entries_pop</item>
        <item>@string/srs_musiceq_entries_rock</item>
    </string-array>
    <string-array name="srs_musiceq_values">
        <item>0</item>
        <item>1</item>
        <item>2</item>
        <item>3</item>
        <item>4</item>
        <item>5</item>
    </string-array>
    <string-array name="srs_videoeq_entries">
        <item>@string/srs_videoeq_entries_flat</item>
        <item>@string/srs_videoeq_entries_drama</item>
        <item>@string/srs_videoeq_entries_action</item>
        <item>@string/srs_videoeq_entries_mtv</item>
    </string-array>
    <string-array name="srs_videoeq_values">
        <item>0</item>
        <item>7</item>
        <item>8</item>
        <item>9</item>
    </string-array>

Compilez Settings.apk, il ne devrait pas avoir d'erreur, donc se compiler normalement.

Étape 2 :

- Ré-décompilez Settings.apk (celui qui viens d'être compilé a l'instant!), le compilateur a créé les valeurs SRS/Dts dans public.xml
- Répétez l'opération pour le apktool.yml

- Récupérer la valeur du <public type="xml" name="srs_settings" (public.xml), remplacez la valeur du smali SrsSettings.smali (ligne 1176) par la valeur du public.xml, enregistrez le smali

- Récupérer la valeur du <public type="drawable" name="ic_settings_srs" (public.xml), remplacez la valeur du smali SrsBassPreference.smali (ligne 166) par la valeur du public.xml, enregistrez le smali édité

- Récupérer la valeur du <public type="drawable" name="ic_settings_srs" (public.xml), remplacez la valeur du smali SrsTreblePreference.smali (ligne 166) par la valeur du public.xml, enregistrez le smali édité

 

- Recompiler Settings.apk !

 

Étapes facultatives mais conseillées : (selon votre ROM si protection signature système activée ou pas, selon votre compilateur etc...)

- Décompressez avec 7-Zip le Settings.apk (l'initial sans modification)

- Ouvrez avec 7-Zip le dernier APK compilé et glisser le dossier META-INF et le fichier AndroidManifest.xml

 

Étape 3 :

 

- Insérer votre nouvel APK dans priv-app (adb ou zip flash)

- Téléchargez le pack Pack-System-DTS.zip (adb des fichiers ou zip flash); ce pack inclus la licence DTS du E2 JB (vérifiez bien que le nom du tél est bien V370 dans build.prop) et les LIB (drivers). Il se peu qu'il y est des lib "en trop", à vous de voir si vous trouvez celles qui ne sont pas obligées à remplacer si vous trouvez des libs en trop, faites le moi savoir svp.

 

 

Faites un retour.

Testé avec succès sur la rom KK AOSP MTK portée par Superdroid ;)

Je pense pas que ça fonctionne sur les Cyanogen car les libs sont différentes vu que les roms Cyanogen ne sont pas basée sur les codes Mediatek. A voir sur les MIUI (qui elles sont basée sur le code MTK, car MIUI existe officiellement pour les MTK, Redmi 1 par exemple)

Modifié par Maͳx
  • Like 2
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...