@@ -21644,127 +21644,22 @@ export interface Route {
2164421644 */
2164521645export interface Screencast {
2164621646 /**
21647- * Emitted for each captured JPEG screencast frame while the screencast is running .
21647+ * Starts capturing screencast frames .
2164821648 *
2164921649 * **Usage**
2165021650 *
2165121651 * ```js
21652- * const screencast = page.screencast;
21653- * screencast.on('screencastframe', ({ data, width, height }) => {
21654- * console.log(`frame ${width}x${height}, jpeg size: ${data.length}`);
21655- * require('fs').writeFileSync('frame.jpg', data);
21656- * });
21657- * await screencast.start({ maxSize: { width: 1200, height: 800 } });
21658- * // ... perform actions ...
21659- * await screencast.stop();
21660- * ```
21661- *
21662- */
21663- on(event: 'screencastframe', listener: (data: {
21664- /**
21665- * JPEG-encoded frame data.
21666- */
21667- data: Buffer;
21668- }) => any): this;
21669-
21670- /**
21671- * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
21672- */
21673- once(event: 'screencastframe', listener: (data: {
21674- /**
21675- * JPEG-encoded frame data.
21676- */
21677- data: Buffer;
21678- }) => any): this;
21679-
21680- /**
21681- * Emitted for each captured JPEG screencast frame while the screencast is running.
21682- *
21683- * **Usage**
21684- *
21685- * ```js
21686- * const screencast = page.screencast;
21687- * screencast.on('screencastframe', ({ data, width, height }) => {
21688- * console.log(`frame ${width}x${height}, jpeg size: ${data.length}`);
21689- * require('fs').writeFileSync('frame.jpg', data);
21690- * });
21691- * await screencast.start({ maxSize: { width: 1200, height: 800 } });
21652+ * await page.screencast.start(buffer => {
21653+ * console.log(`frame size: ${buffer.length}`);
21654+ * }, { maxSize: { width: 800, height: 600 } });
2169221655 * // ... perform actions ...
21693- * await screencast.stop();
21694- * ```
21695- *
21696- */
21697- addListener(event: 'screencastframe', listener: (data: {
21698- /**
21699- * JPEG-encoded frame data.
21700- */
21701- data: Buffer;
21702- }) => any): this;
21703-
21704- /**
21705- * Removes an event listener added by `on` or `addListener`.
21706- */
21707- removeListener(event: 'screencastframe', listener: (data: {
21708- /**
21709- * JPEG-encoded frame data.
21710- */
21711- data: Buffer;
21712- }) => any): this;
21713-
21714- /**
21715- * Removes an event listener added by `on` or `addListener`.
21716- */
21717- off(event: 'screencastframe', listener: (data: {
21718- /**
21719- * JPEG-encoded frame data.
21720- */
21721- data: Buffer;
21722- }) => any): this;
21723-
21724- /**
21725- * Emitted for each captured JPEG screencast frame while the screencast is running.
21726- *
21727- * **Usage**
21728- *
21729- * ```js
21730- * const screencast = page.screencast;
21731- * screencast.on('screencastframe', ({ data, width, height }) => {
21732- * console.log(`frame ${width}x${height}, jpeg size: ${data.length}`);
21733- * require('fs').writeFileSync('frame.jpg', data);
21734- * });
21735- * await screencast.start({ maxSize: { width: 1200, height: 800 } });
21736- * // ... perform actions ...
21737- * await screencast.stop();
21738- * ```
21739- *
21740- */
21741- prependListener(event: 'screencastframe', listener: (data: {
21742- /**
21743- * JPEG-encoded frame data.
21744- */
21745- data: Buffer;
21746- }) => any): this;
21747-
21748- /**
21749- * Starts capturing screencast frames. Frames are emitted as
21750- * [screencast.on('screencastframe')](https://playwright.dev/docs/api/class-screencast#screencast-event-screencast-frame)
21751- * events.
21752- *
21753- * **Usage**
21754- *
21755- * ```js
21756- * const screencast = page.screencast;
21757- * screencast.on('screencastframe', ({ data, width, height }) => {
21758- * console.log(`frame ${width}x${height}, size: ${data.length}`);
21759- * });
21760- * await screencast.start({ maxSize: { width: 800, height: 600 } });
21761- * // ... perform actions ...
21762- * await screencast.stop();
21656+ * await page.screencast.stop();
2176321657 * ```
2176421658 *
21659+ * @param onFrame Callback that receives JPEG-encoded frame data.
2176521660 * @param options
2176621661 */
21767- start(options?: {
21662+ start(onFrame: ((buffer: Buffer) => Promise<any>|any), options?: {
2176821663 /**
2176921664 * Maximum screencast frame dimensions. The output frame may be smaller to preserve the page aspect ratio. Defaults to
2177021665 * 800×800.
@@ -21784,12 +21679,12 @@ export interface Screencast {
2178421679
2178521680 /**
2178621681 * Stops the screencast started with
21787- * [screencast.start([ options])](https://playwright.dev/docs/api/class-screencast#screencast-start).
21682+ * [screencast.start(onFrame[, options])](https://playwright.dev/docs/api/class-screencast#screencast-start).
2178821683 *
2178921684 * **Usage**
2179021685 *
2179121686 * ```js
21792- * await screencast.start();
21687+ * await screencast.start(buffer => { /* handle frame *\/ } );
2179321688 * // ... perform actions ...
2179421689 * await screencast.stop();
2179521690 * ```
0 commit comments