class DroidAdbs::ScreenRecord::Recording
Attributes
bit_rate[RW]
file_name[RW]
recording[RW]
size[RW]
Public Class Methods
new(device_serial: nil, bit_rate: 3000000, size: "1280x720", time_limit: 180)
click to toggle source
# File lib/droid_adbs/commons/record.rb, line 12 def initialize(device_serial: nil, bit_rate: 3000000, size: "1280x720", time_limit: 180) @bit_rate = bit_rate @size = size @time_limit = time_limit ::DroidAdbs.device_serial = device_serial if device_serial @recording = false end
Public Instance Methods
delete()
click to toggle source
# File lib/droid_adbs/commons/record.rb, line 44 def delete # Delete the video from the device system "#{::DroidAdbs.shell} rm /sdcard/#{@file_name}.mp4" end
pull(export_to: "
click to toggle source
# File lib/droid_adbs/commons/record.rb, line 39 def pull(export_to: "#{Dir.pwd}/droid_adbs_video.mp4") # Download the video system "#{::DroidAdbs.adb_serial} pull /sdcard/#{@file_name}.mp4 #{export_to}" end
start(file_name: "droid_adbs_video")
click to toggle source
# File lib/droid_adbs/commons/record.rb, line 21 def start(file_name: "droid_adbs_video") validate_recordable? raise "Recording on the other process" if @recording @file_name = file_name @recording = true @process_id = fork do exec "#{::DroidAdbs.shell} screenrecord --time-limit #{@time_limit} --bit-rate #{@bit_rate} --size #{@size} /sdcard/#{@file_name}.mp4" end end
stop()
click to toggle source
# File lib/droid_adbs/commons/record.rb, line 33 def stop validate_recordable? Process.kill(:SIGINT, @process_id) @recording = false end
Private Instance Methods
validate_recordable?()
click to toggle source
# File lib/droid_adbs/commons/record.rb, line 51 def validate_recordable? unless ::DroidAdbs::Devices.device_build_version_sdk.to_i >= 19 raise "The command require over KitKat(API Level 19)" end true end