由於基本上原廠 rom 都是 odex 的, 所以也必須要 deodex.
如何 deodex 和 odex , 可以參考以下文章.
如何 deodex stock rom 的 apk 檔案.
如何關閉相機聲音可以參考此篇
LG G2 韓版 - 如何開啟相機無聲的選項 for Kitkat
下面是如何把錄影啟動和停止聲音關閉 (這個關閉後除非在修改, 否則沒辦法透過選項再開啟喔)
com/lge/camera/controller/SoundController.smali
.method public playRecordingSound(Z)V .locals 3 .parameter "start" .prologue .line 632 const-string v0, "CameraApp" new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "playRecordingSound : start = " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-static {v0, v1}, Lcom/lge/camera/util/CamLog;->d(Ljava/lang/String;Ljava/lang/String;)V .line 634 iget-object v0, p0, Lcom/lge/camera/controller/SoundController;->mGet:Lcom/lge/camera/ControllerFunction; invoke-interface {v0}, Lcom/lge/camera/ControllerFunction;->getApplicationMode()I move-result v0 if-nez v0, :cond_1 iget-object v0, p0, Lcom/lge/camera/controller/SoundController;->mGet:Lcom/lge/camera/ControllerFunction; const-string v1, "key_camera_shot_mode" invoke-interface {v0, v1}, Lcom/lge/camera/ControllerFunction;->getSettingValue(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 const-string v1, "shotmode_panorama" invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_0 iget-object v0, p0, Lcom/lge/camera/controller/SoundController;->mGet:Lcom/lge/camera/ControllerFunction; const-string v1, "key_camera_shot_mode" invoke-interface {v0, v1}, Lcom/lge/camera/ControllerFunction;->getSettingValue(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 const-string v1, "shotmode_plane_panorama" invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_0 iget-object v0, p0, Lcom/lge/camera/controller/SoundController;->mGet:Lcom/lge/camera/ControllerFunction; const-string v1, "key_camera_shot_mode" invoke-interface {v0, v1}, Lcom/lge/camera/ControllerFunction;->getSettingValue(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 const-string v1, "shotmode_free_panorama" invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_1 :cond_0 invoke-static {}, Lcom/lge/camera/properties/ShutterSoundProperties;->isSupportShutterSoundOff()Z move-result v0 if-eqz v0, :cond_1 const-string v0, "off" iget-object v1, p0, Lcom/lge/camera/controller/SoundController;->mGet:Lcom/lge/camera/ControllerFunction; const-string v2, "key_camera_shutter_sound" invoke-interface {v1, v2}, Lcom/lge/camera/ControllerFunction;->getSettingValue(Ljava/lang/String;)Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_1 .line 649 :goto_0 return-void .line 644 :cond_1 if-eqz p1, :cond_2 .line 645 iget v0, p0, Lcom/lge/camera/controller/SoundController;->mSound_startRecording:I #invoke-virtual {p0, v0}, Lcom/lge/camera/controller/SoundController;->soundPlay(I)V goto :goto_0 .line 647 :cond_2 iget v0, p0, Lcom/lge/camera/controller/SoundController;->mSound_stopRecording:I #invoke-virtual {p0, v0}, Lcom/lge/camera/controller/SoundController;->soundPlay(I)V goto :goto_0 .end method
如上, 把有 soundPlay(I)V 的部份最前面加上 #, 這樣就不會有聲音了.
不過我個人是不太喜歡按下去完全沒有錄影開始的感覺就是了.
沒有留言:
張貼留言