Most visited

Recently visited

Added in API level 24

TvRecordingClient

public class TvRecordingClient
extends Object

java.lang.Object
   ↳ android.media.tv.TvRecordingClient


公共接口对象用于与特定的电视输入服务交互以进行电视节目录制。

Summary

Nested classes

class TvRecordingClient.RecordingCallback

回拨用于在TvInputService.RecordingSession上接收各种状态更新

Public constructors

TvRecordingClient(Context context, String tag, TvRecordingClient.RecordingCallback callback, Handler handler)

创建一个新的TvRecordingClient对象。

Public methods

void release()

立即释放当前记录会话中的资源。

void sendAppPrivateCommand(String action, Bundle data)

发送一个私人命令到底层的电视输入。

void startRecording(Uri programUri)

在当前录制会话中开始录制电视节目。

void stopRecording()

停止当前录制会话中的电视节目录制。

void tune(String inputId, Uri channelUri, Bundle params)

调谐到指定频道以进行电视节目录制。

void tune(String inputId, Uri channelUri)

调谐到指定频道以进行电视节目录制。

Inherited methods

From class java.lang.Object

Public constructors

TvRecordingClient

Added in API level 24
TvRecordingClient (Context context, 
                String tag, 
                TvRecordingClient.RecordingCallback callback, 
                Handler handler)

创建一个新的TvRecordingClient对象。

Parameters
context Context: The application context to create a TvRecordingClient with.
tag String: A short name for debugging purposes.
callback TvRecordingClient.RecordingCallback: The callback to receive recording status changes.
handler Handler: The handler to invoke the callback on.

Public methods

release

Added in API level 24
void release ()

立即释放当前记录会话中的资源。 这可能随时被调用,但是如果会话已经发布,它什么也不做。

sendAppPrivateCommand

Added in API level 24
void sendAppPrivateCommand (String action, 
                Bundle data)

发送一个私人命令到底层的电视输入。 这可用于提供特定于域的功能,这些功能仅在特定客户端与其电视输入之间才可识别。

Parameters
action String: The name of the private command to send. This must be a scoped name, i.e. prefixed with a package name you own, so that different developers will not create conflicting commands.
data Bundle: An optional bundle to send with the command.

startRecording

Added in API level 24
void startRecording (Uri programUri)

在当前录制会话中开始录制电视节目。 当调用此方法时,预计录制会立即开始。 如果当前记录会话尚未调谐到任何频道,则此方法会引发异常。

应用程序可以为电视节目提供URI,以填写TvContract.RecordedPrograms表中的节目特定数据字段。 非空programUri意味着开始的记录应该是该特定的节目,而空programUri不强制这样的要求,并且记录可以跨越多个电视节目。 无论哪种情况,应用程序都必须调用stopRecording()来停止录制。

如果启动请求无法完成,录制会话将通过调用 onError(int)响应。

Parameters
programUri Uri: The URI for the TV program to record, built by buildProgramUri(long). Can be null.
Throws
IllegalStateException If tune(String, Uri) request hasn't been handled yet.

stopRecording

Added in API level 24
void stopRecording ()

停止当前录制会话中的电视节目录制。 当调用此方法时,预计录制会立即停止。 如果在当前记录会话中尚未开始记录,则此方法不起作用。

预计录制会话将在TvContract.RecordedPrograms表中创建一个新数据条目,该条目描述新录制的节目并将URI传递到该条目直至onRecordingStopped(Uri) 如果停止请求无法完成,则记录会话将通过调用onError(int)响应。

tune

Added in API level 24
void tune (String inputId, 
                Uri channelUri, 
                Bundle params)

调谐到指定频道以进行电视节目录制。 第一个调谐请求将为相应的电视输入创建一个新的录制会话,并在应用程序和会话之间建立连接。 如果在当前录制会话中已经开始录制,则此方法会引发异常。 这可以用于提供特定于域的功能,这些功能只能在特定客户端和其电视输入之间获知。

应用程序可能会在开始或停止录制之前调用此方法,但在录制过程中可能不会。

如果调谐请求已完成,则录制会话将通过调用 onTuned(Uri)响应,否则执行 onError(int)

Parameters
inputId String: The ID of the TV input for the given channel.
channelUri Uri: The URI of a channel.
params Bundle: Domain-specific data for this tune request. Keys must be a scoped name, i.e. prefixed with a package name you own, so that different developers will not create conflicting keys.
Throws
IllegalStateException If recording is already started.

tune

Added in API level 24
void tune (String inputId, 
                Uri channelUri)

调谐到指定频道以进行电视节目录制。 第一个调谐请求将为相应的电视输入创建一个新的录制会话,并在应用程序和会话之间建立连接。 如果在当前录制会话中已经开始录制,则此方法会引发异常。

应用程序可能会在开始或停止录制之前调用此方法,但在录制过程中可能不会。

如果调谐请求得到满足,则录制会话将通过调用 onTuned(Uri)响应,否则请执行 onError(int)

Parameters
inputId String: The ID of the TV input for the given channel.
channelUri Uri: The URI of a channel.
Throws
IllegalStateException If recording is already started.

Hooray!