0

だから私はLGP920を持っています私は修正したいTIFMrXアプリを追加してtinymix経由でオーディオをルーティングするコマンドを追加しますここにシェルコマンドがあります

# tinymix 6 120
# tinymix 66 7
# tinymix 67 7
# tinymix 73 2
# tinymix 74 2

バイナリはにあります/system/bin/tinymix

だから、Javaでそれを暗示しようとしているので、正しいかどうかはわかりませんが、ここでは

 public static void RouteAudioOn()
    {
    String MIX = "tinymix";
    int DL1 = 6;
    int DL1Value = 120;
    int FMvol = 66;
    int Headsetvol = 67'
    int RightCh = 73;
    int LeftCh = 74;
    int SoundValue  = 7;
    int HeadsetValue = 8;
    int LineIn = 2

    Process process = Runtime.getRuntime().exec("su");
    DataOutputStream os = new DataOutputStream(process.getOutputStream());

    os.writeBytes(MIX+" "+DL1+" "+DL1Value"\n");
    os.writeBytes(MIX+" "+FMvol+" "+SoundValue"\n");
    os.writeBytes(MIX+" "+Headsetvol+" "+HeadsetValue"\n");
    os.writeBytes(MIX+" "+RightCh+" "+LineIn"\n");
    os.writeBytes(MIX+" "+LeftCh+" "+LineIn"\n");

    os.writeBytes("exit\n");
    os.flush();
    os.close();

    process.waitFor();
    }  

 public static void RouteAudioOff()
    {
    String MIX = "tinymix";
    int DL1 = 6;
    int DL1Value = 0;
    int FMvol = 66;
    int Headsetvol = 67'
    int RightCh = 73;
    int LeftCh = 74;
    int SoundValue  = 0;
    int HeadsetValue = 0;
    int LineIn = 0

    Process process = Runtime.getRuntime().exec("su");
    DataOutputStream os = new DataOutputStream(process.getOutputStream());

    os.writeBytes(MIX+" "+DL1+" "+DL1Value"\n");
    os.writeBytes(MIX+" "+FMvol+" "+SoundValue"\n");
    os.writeBytes(MIX+" "+Headsetvol+" "+HeadsetValue"\n");
    os.writeBytes(MIX+" "+RightCh+" "+LineIn"\n");
    os.writeBytes(MIX+" "+LeftCh+" "+LineIn"\n");

    os.writeBytes("exit\n");
    os.flush();
    os.close();

    process.waitFor();
    }  
4

1 に答える 1

0

私はこのようにそれを作りました、そして大丈夫です

boolean son=ヘッドセットの場合は false、ハンズフリーの場合は true

public void RunAsRoot(boolean son) {
    Process p = null;
    ArrayList tmpCmd = new ArrayList();
    tmpCmd.add("chmod 777 /dev/radio0");
    tmpCmd.add("tinymix 6 120");
    tmpCmd.add("tinymix 66 4");
if(son){tmpCmd.add("tinymix 67 1");tmpCmd.add("tinymix 73 1");
tmpCmd.add("tinymix 74 0");tmpCmd.add("tinymix 68 28");tmpCmd.add("tinymix 75 2");tmpCmd.add("tinymix 76 2");}
else    {tmpCmd.add("tinymix 75 0");tmpCmd.add("tinymix 76 0");tmpCmd.add("tinymix 68 0");tmpCmd.add("tinymix 67 4");
tmpCmd.add("tinymix 73 2");
tmpCmd.add("tinymix 74 2");}

    try {
        p = Runtime.getRuntime().exec("su");
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    DataOutputStream os = new DataOutputStream(p.getOutputStream());            
    for (int i=0;i<tmpCmd.size();i++) {
       try {
        os.writeBytes(tmpCmd.get(i)+"\n");
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    }           
    try {
         os.writeBytes("exit\n");
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }  
    try {
        os.flush();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}   
于 2013-04-05T16:48:25.710 に答える