record

Professor Marston and the Wonder Women [videorecording]/ Annapurna Pictures presents in association with Stage 6 Films ; a Topple Pictures & Boxspring Entertainment production ; produced by Terry Leonard, Amy Redford ; written and directed by Angela R

1 videodisc (approximately 108 minutes) : sound, color ; 4 3/4 in




record

Wonder Woman [videorecording] / directed by Patty Jenkins ; screenplay by Allan Heinberg ; story by Zack Snyder & Allan Heinberg and Jason Fuchs ; produced by Charles Roven, Deborah Snyder, Zack Snyder, Richard Suckle ; a Warner Bros. Pictures present

2 videodiscs (141 min.) : sound, color ; 4 3/4 in




record

It's no more just about Real or Barca breaking records: La Liga India head

Jose Antonio Cachaza, MD, LaLiga India, dwells on his team's digital strategy to reach fans in remote villages that even courier companies don't reach




record

Searches for dijet resonances: using [square root]s = 13 TeV proton-proton collision data recorded by the ATLAS Detector at the Large Hadron Collider / Lydia Audrey Beresford

Online Resource




record

Hispanic Resources: News & Events: 50 New Literary Recordings Available to Stream Online

The annual online release of material from the Archive of Hispanic Literature on Tape has gone live! These year's release includes recordings with Jorge Luis Borges, Vinicius de Moraes, and renowned Latinx poets such as Carmen Giménez Smith, Valerie Martínez, and Rigoberto González. Curated here in the Library of Congress since 1943, the AHLOT is a collection of audio recordings of poets and prose writers from Latin America, the Iberian Peninsula, the Caribbean, and the Latinx community in the United States reading from their works. Every year we make 50 new recordings from this collection available for online streaming.

Click here to see the complete list of authors recorded for this project.

 




record

Canning Paradise [videorecording] / The Australian Centre for Independent Journalism presents ; Fourth World Films ; a documentary produced and directed by Oliver Pollet




record

How the west was lost [videorecording] / director, David Noakes ; writers, David Noakes, Paul Roberts ; producers, Heather Williams, David Noakes




record

Japan IPO cancellations hit record this month on coronavirus

Investors who had planned to buy new offerings might opt for existing start-up shares instead.




record

Observation [videorecording] : the developing child / Magna Systems, Inc. ; program producers, Shanta and Milan Herzog ; design and script, Janet Gonzalez-Mena ; editor, Susan Jenkins




record

The inside story [videorecording] : developing children's understanding about their bodies




record

Geoffrey Bolton introduces 'It had better be a good one' [videorecording] : the first ten years of Murdoch University

Bolton, G. C. (Geoffrey Curgenven), 1931-2015




record

Record of oral language : observing changes in the acquisition of language structures : a guide for teaching / Marie M. Clay, Malcolm Gill, Ted Glynn, Tony McNaughton, Keith Salmon

Clay, Marie M. (Marie Mildred), author




record

Security and privacy of electronic healthcare records: concepts, paradigms and solutions.

Online Resource




record

Requiem [sound recording] / Gabriel Fauré

[S.l.] : Arte Nova Classics, [2006], p1995




record

Podcast: Bionic leaves that make fuel, digging into dog domestication, and wars recorded in coral

Listen to stories on new evidence for double dog domestication, what traces of mercury in coral can tell us about local wars, and an update to a classic adaptation story, with online news editor David Grimm.   Brendan Colón talks about a bionic leaf system that captures light and carbon and converts it to several different types of fuels with host Sarah Crespi.   [Image: Andy Phillips/Flickr/CC BY-ND 2.0/Music: Jeffrey Cook]




record

Govt to gain Rs 1.6 lakh cr this fiscal from record excise duty hike on petrol, diesel

The cash-strapped government will gain close to Rs 1.6 lakh crore in additional revenues this fiscal from a record increase in excise duty on petrol and diesel, that will help make up for revenue it lost in a slowing economy and shutting down of businesses due to coronavirus lockdown.




record

Record excise duty hike unlikely to help bridge fiscal gap: Report

Following the record hike in excise duty on petrol and diesel, the total incidence of taxation on auto fuels jumped to 70 per cent of the retail price. But the retail prices are not impacted as the hike completely wipes out the fall in crude prices.




record

Admissibility and public availability of transit safety planning records / Committee to Review Evidentiary Protection for Public Transporation Safety Program Information, Transportation Research Board

Barker Library - TE7.N2774 no.326




record

Shadow play [videorecording] / written and directed by Chris Hilton ; produced by Sylvie le Clézio and Chris Hilton




record

The warmth, wit and wisdom of Geoffrey Bolton [sound recording] / as recalled by Bill Bunbury

Bunbury, Bill, 1940-




record

Stats: Kohli getting closer towards breaking Tendulkar's record

Statistical highlights on the fifth and final day of the opening Test match between India and Sri Lanka, in Kolkata, on Monday.




record

Numbers Game: Plethora of records for run machine Rohit

Statistical highlights of the second ODI between India and Sri Lanka, on Mohali on Wednesday.






record

Why Deepak Chahar's T20 World Record is special!

Deepak Chahar is the first Indian bowler ever to hold the record of best bowling figures in any format of international cricket (Test/ODI/T20I), points out Rajneesh Gupta.





record

[市場快拍] [videorecording] ; [開市攻略] ; 2017 投資 / 導播林佩慧 ; 監製曾婉嫻 ; 新聞及資訊部公共事務科製作.

Location Media Resources Collection
Call No. HC470.3.A1 C35 2017




record

Metrics for Assessing Physician Activity Using Electronic Health Record Log Data

Electronic health record (EHR) log data have shown promise in measuring physician time spent on clinical activities, contributing to deeper understanding and further optimization of the clinical environment.




record

[ASAP] Development of Lipid-Coated Semiconductor Nanosensors for Recording of Membrane Potential in Neurons

ACS Photonics
DOI: 10.1021/acsphotonics.9b01558




record

Building a Dictaphone Using Media Recorder and getUserMedia

Chris Mills brushes up his shorthand and shows how the MediaStream Recording API in modern browsers can be used to capture audio directly from the user’s device. Inching ever closer to the capabilities of native software, it truly is an exciting time to be a web developer.


The MediaStream Recording API makes it easy to record audio and/or video streams. When used with MediaDevices.getUserMedia(), it provides an easy way to record media from the user’s input devices and instantly use the result in web apps. This article shows how to use these technologies to create a fun dictaphone app.

A sample application: Web Dictaphone

To demonstrate basic usage of the MediaRecorder API, we have built a web-based dictaphone. It allows you to record snippets of audio and then play them back. It even gives you a visualisation of your device’s sound input, using the Web Audio API. We’ll just concentrate on the recording and playback functionality in this article, for brevity’s sake.

You can see this demo running live, or grab the source code on GitHub. This has pretty good support on modern desktop browsers, but pretty patchy support on mobile browsers currently.

Basic app setup

To grab the media stream we want to capture, we use getUserMedia(). We then use the MediaRecorder API to record the stream, and output each recorded snippet into the source of a generated <audio> element so it can be played back.

We’ll first declare some variables for the record and stop buttons, and the <article> that will contain the generated audio players:

const record = document.querySelector('.record');
const stop = document.querySelector('.stop');
const soundClips = document.querySelector('.sound-clips');

Next, we set up the basic getUserMedia structure:

if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
   console.log('getUserMedia supported.');
   navigator.mediaDevices.getUserMedia (
      // constraints - only audio needed for this app
      {
         audio: true
      })

      // Success callback
      .then(function(stream) {

      })

      // Error callback
      .catch(function(err) {
         console.log('The following `getUserMedia` error occured: ' + err);
      }
   );
} else {
   console.log('getUserMedia not supported on your browser!');
}

The whole thing is wrapped in a test that checks whether getUserMedia is supported before running anything else. Next, we call getUserMedia() and inside it define:

  • The constraints: Only audio is to be captured for our dictaphone.
  • The success callback: This code is run once the getUserMedia call has been completed successfully.
  • The error/failure callback: The code is run if the getUserMedia call fails for whatever reason.

Note: All of the code below is found inside the getUserMedia success callback in the finished version.

Capturing the media stream

Once getUserMedia has created a media stream successfully, you create a new Media Recorder instance with the MediaRecorder() constructor and pass it the stream directly. This is your entry point into using the MediaRecorder API — the stream is now ready to be captured into a <Blob>, in the default encoding format of your browser.

const mediaRecorder = new MediaRecorder(stream);

There are a series of methods available in the MediaRecorder interface that allow you to control recording of the media stream; in Web Dictaphone we just make use of two, and listen to some events. First of all, MediaRecorder.start() is used to start recording the stream once the record button is pressed:

record.onclick = function() {
  mediaRecorder.start();
  console.log(mediaRecorder.state);
  console.log("recorder started");
  record.style.background = "red";
  record.style.color = "black";
}

When the MediaRecorder is recording, the MediaRecorder.state property will return a value of “recording”.

As recording progresses, we need to collect the audio data. We register an event handler to do this using mediaRecorder.ondataavailable:

let chunks = [];

mediaRecorder.ondataavailable = function(e) {
  chunks.push(e.data);
}

Last, we use the MediaRecorder.stop() method to stop the recording when the stop button is pressed, and finalize the Blob ready for use somewhere else in our application.

stop.onclick = function() {
  mediaRecorder.stop();
  console.log(mediaRecorder.state);
  console.log("recorder stopped");
  record.style.background = "";
  record.style.color = "";
}

Note that the recording may also stop naturally if the media stream ends (e.g. if you were grabbing a song track and the track ended, or the user stopped sharing their microphone).

Grabbing and using the blob

When recording has stopped, the state property returns a value of “inactive”, and a stop event is fired. We register an event handler for this using mediaRecorder.onstop, and construct our blob there from all the chunks we have received:

mediaRecorder.onstop = function(e) {
  console.log("recorder stopped");

  const clipName = prompt('Enter a name for your sound clip');

  const clipContainer = document.createElement('article');
  const clipLabel = document.createElement('p');
  const audio = document.createElement('audio');
  const deleteButton = document.createElement('button');

  clipContainer.classList.add('clip');
  audio.setAttribute('controls', '');
  deleteButton.innerHTML = "Delete";
  clipLabel.innerHTML = clipName;

  clipContainer.appendChild(audio);
  clipContainer.appendChild(clipLabel);
  clipContainer.appendChild(deleteButton);
  soundClips.appendChild(clipContainer);

  const blob = new Blob(chunks, { 'type' : 'audio/ogg; codecs=opus' });
  chunks = [];
  const audioURL = window.URL.createObjectURL(blob);
  audio.src = audioURL;

  deleteButton.onclick = function(e) {
    let evtTgt = e.target;
    evtTgt.parentNode.parentNode.removeChild(evtTgt.parentNode);
  }
}

Let’s go through the above code and look at what’s happening.

First, we display a prompt asking the user to name their clip.

Next, we create an HTML structure like the following, inserting it into our clip container, which is an <article> element.

<article class="clip">
  <audio controls></audio>
  <p>_your clip name_</p>
  <button>Delete</button>
</article>

After that, we create a combined Blob out of the recorded audio chunks, and create an object URL pointing to it, using window.URL.createObjectURL(blob). We then set the value of the <audio> element’s src attribute to the object URL, so that when the play button is pressed on the audio player, it will play the Blob.

Finally, we set an onclick handler on the delete button to be a function that deletes the whole clip HTML structure.

So that’s basically it — we have a rough and ready dictaphone. Have fun recording those Christmas jingles! As a reminder, you can find the source code, and see it running live, on the MDN GitHub.


This article is based on Using the MediaStream Recording API by Mozilla Contributors, and is licensed under CC-BY-SA 2.5.


About the author

Chris Mills manages the MDN web docs writers’ team at Mozilla, which involves spreadsheets, meetings, writing docs and demos about open web technologies, and occasional tech talks at conferences and universities. He used to work for Opera and W3C, and enjoys playing heavy metal drums and drinking good beer.

More articles by Chris




record

Dying for rights: putting North Korea's human rights abuses on the record / Sandra Fahy

Dewey Library - JC599.K7 F34 2019




record

26/11 Terror Attack: Magistrate denies recording false confession of Ajmal Kasab

"Not true that I recorded false statement of Kasab when he was produced before me"




record

Srinagar records first sub-zero temperature of season

Pahalgam was the coldest place in Kashmir valley with minimum temperature of minus 4 degree Celsius.




record

Tehelka journalist 'recorded' calls from Tarun Tejpal, Shoma Chaudhury

Tarun Tejpal has been accused of raping his junior colleague during an event in Goa.




record

Navios de terra videorecording] / escrito, dirigido e produzido por Simone Cortezão ; produção Ana Moravi, Bea França, Simone Cortezão




record

UPA’s record brought Modi in power: Brinda Karat



  • DO NOT USE West Bengal
  • India

record

A century in stone [videorecording] : the Eston & California story / produced, writen and directed by Craig Hornby




record

Seed germination and research records from Alcoa's Marrinup nursery [electronic resource] / E.L. Cromer

Cromer, E. L




record

To get that country [videorecording]




record

Implanted Recorders With Electrocardiographic Monitoring for Detecting Arrhythmias in Pregnant Women

This randomized clinical trial assesses the effectiveness of an implantable loop recorder plus 24-hour Holter electrocardiographic monitoring vs standard 24-hour Holter electrocardiographic monitoring alone for detecting arrhythmias in pregnant women with structural heart disease and/or symptoms suggestive of arrhythmias.




record

At the edge of the world [videorecording]




record

A primer of mathematical writing : being a disquisition on having your ideas recorded, typeset, published, read and appreciated / Steven G. Krantz

Krantz, Steven G. (Steven George), 1951-




record

Coronavirus | Odisha records 52 cases, highest single-day spike

43 cases from Ganjam district; State’s total mounts to 271




record

Working with IBM Records Manager [electronic resource] / Wei-Dong Zhu, Serena S. Chan, Gunther Flaig, Yi Wang, Keith Wheeler, R. Hogg, Yolanda Yates

Zhu, Wei-Dong, author




record

Uttara Kannada records 12 new cases related to P-659

Uttara Kannada Deputy Commissioner K. Harish Kumar has said that in the wake of 12 new cases being reported from the containment zone in Bhatkal, band




record

Teaching Hiragana in 48 minutes [videorecording] : the Japanese forum with Professor Hiroko C. Quackenbush




record

Battle royale II [videorecording] : requiem / a Kinji Fukasaku film




record

Where are you going [videorecording] / presented by Burn The Film ; produced by Shengze Zhu, Zhengfan Yang ; a film by Zhengfan Yang




record

A Cambodian spring [videorecording] / Little Ease Films in association with Dartmouth Films, Zanzibar Films & EyesteelFilm presents a film by Chris Kelly




record

Record 45 cases in a day takes K'taka tally to 750