cor

[ASAP] In Situ Study of the Drug–Target Protein Interaction in Single Living Cells by Combining Fluorescence Correlation Spectroscopy with Affinity Probes

Analytical Chemistry
DOI: 10.1021/acs.analchem.0c00263




cor

[ASAP] Correction of <italic toggle="yes">Q</italic> Factor Effects for Simultaneous Collection of Elemental Analysis and Relaxation Times by Nuclear Magnetic Resonance

Analytical Chemistry
DOI: 10.1021/acs.analchem.9b05603




cor

[ASAP] Extraction of Individual Spectra from Mixture Data Based on High-Resolution <sup>13</sup>C–<sup>13</sup>C NMR Correlation Spectrum and DECODE Procedure

Analytical Chemistry
DOI: 10.1021/acs.analchem.0c00277




cor

Coronavirus: I am being harassed for breaking lockdown rules, says Manchester City’s Kyle Walker

The defender was forced to issue an apology last month after media reports that he had hosted a party at his home.




cor

Why Bihar is seeing a drop in coronavirus tests – even as migrant workers return to the state

Bihar’s testing rate is one of the lowest in the country.




cor

Coronavirus: After Abu Dhabi, Indians evacuated from Singapore and Dhaka on special flights

Air India will also bring back people from other countries including the US, UK, Bangladesh, Singapore, Saudi Arabia, Kuwait, Philippines, UAE and Malaysia.




cor

Coronavirus: BMC chief transferred as Covid-19 cases in Mumbai cross 11,000

Iqbal Singh Chahal will now take over Praveen Pardeshi’s post.




cor

Coronavirus: Football teams will be allowed to use five substitutes to deal with fixture backlog

The International Football Association Board said in a statement that it had agreed to a proposal by Fifa for a temporary rule change to protect players.




cor

Coronavirus: Inter, AC Milan resume training after two-month lockdown in Italy’s epicentre

The Italian Football Federation met with the government’s technical scientific committee to discuss details of the medical protocol for a return to training.




cor

Coronavirus: Pune-based cricket museum buys Azhar Ali’s auctioned bat and jersey to raise funds

The Pakistan Test captain had put his bat used to score triple century in a day-night Test and Champions Trophy 2017 jersey up for auction.




cor

Coronavirus: Premier League should resume only after public safety is assured, says Britain minister

Premier League clubs are due to meet on Monday to discuss the latest plans for “Project Restart” – a day after an expected minor easing of coronavirus lockdown.




cor

Coronavirus: Players not wholly on board with proposal to resume NBA in giant quarantine zone

NBA Players Association executive director Michele Roberts told ESPN that the idea of setting up a bubble to guard against coronavirus was met with skepticism.




cor

Ighalo hopes his loan at Manchester United extends until coronavirus-hit Premier League season ends

The 30-year-old moved to Old Trafford from Chinese side Shanghai Shenhua in January and has a contract until May 31.




cor

Coronavirus: Two Indians flown back from Gulf to Kerala test positive

The Centre said it will now only test severe cases of the disease before releasing patients.




cor

BCCI considers fielding two separate teams for matches on same day post coronavirus: Report

The board has reportedly run the idea with the coaching staff.




cor

‘We must learn to live with the coronavirus,’ says health ministry

The ministry said it was possible that with adherence to physical distancing norms and aggressive containment, India may never hit the peak.




cor

Coronavirus: Cases in India will peak by July end, but will get better, says WHO envoy

David Nabarro said India has managed to keep the virus ‘reasonably well located in specific places’ by imposing timely restrictions.




cor

Football: Some players are still recovering from coronavirus, says AC Milan president Scaroni

The Lombardy club returned to individual training this week and are expecting Swedish star Zlatan Ibrahimovic to return in the coming days.




cor

UFC to go ahead with it’s schedule despite one of the fighter testing positive for coronavirus

The organisers said Brazilian Ronaldo Souza, who was to fight Uriah Hall on the undercard, will not take part in the event.




cor

NBA’s restart plan amidst coronavirus includes daily testing of players, limited locations: Reports

NBA Commissioner Adam Silver explained the plan in a conference call open to all NBA players.




cor

Coronavirus: Only severe cases need to be tested before discharge, says Centre in revised guidelines

Other categories of patients – including very mild, mild, pre-symptomatic and moderate cases – need not be tested before discharge, it added.




cor

Coronavirus: Trinamool Congress hits back at Amit Shah, claims eight trains scheduled for migrants

The Union home minister had alleged that the state government was being unjust to migrant workers by not allowing ‘Sharmik’ special trains.




cor

Coronavirus: Senior India hockey players to undergo online coaching course amid lockdown

The course will be attended by 32 senior men and 23 senior women core probables on May 11 and 15 respectively.




cor

Coronavirus: Tamil Nadu moves SC against Madras High Court order to close liquor shops

On Friday, the Madras High Court noted that there was a ‘blatant violation’ of its guidelines regulating liquor sales and ordered only online sale.




cor

Coronavirus: Tamil Nadu to ease lockdown restrictions in non-containment areas from Monday

The state has registered a huge increase in the number of coronavirus cases in the last few days.




cor

[ASAP] Connecting Femtosecond Transient Absorption Microscopy with Spatially Coregistered Time Averaged Optical Imaging Modalities

The Journal of Physical Chemistry A
DOI: 10.1021/acs.jpca.9b11996




cor

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.




cor

Improving Effect Estimates by Limiting the Variability in Inverse Propensity Score Weights

This study describes a novel method to reweight a comparison group used for causal inference, so the group is similar to a treatment group on observable characteristics yet avoids highly variable weights that would limit statistical power.




cor

The ecology of tropical East Asia / Richard T. Corlett, Center for Integrative Conservation, Xishuangbanna Tropical Botanical Garden, Chinese Academy of Sciences, China

Dewey Library - QH84.5.C67 2019




cor

Worlds of natural history / edited by H.A. Curry, N. Jardine, J.A. Secord and E.C. Spary

Hayden Library - QH45.2.W67 2018




cor

Strategic Corporate Conservation Planning: A Guide to Meaningful Engagement / by Margaret O'Gorman

Online Resource




cor

Shareholder cities: land transformations along urban corridors in India / Sai Balakrishnan

Rotch Library - HD879.M444 B35 2019




cor

Coral whisperers: scientists on the brink / Irus Braverman

Barker Library - GC30.A1 B73 2018




cor

Garden variety: the American tomato from corporate to heirloom / John M. Hoenig

Hayden Library - SB349.H64 2018




cor

Correction: Preparation of electrospray ALG/PDA–PVP nanocomposites and their application in cancer therapy

Soft Matter, 2020, 16,4074-4074
DOI: 10.1039/D0SM90064H, Correction
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Yangjie Xu, Jiulong Zhao, Zhilun Zhang, Jing Zhang, Mingxian Huang, Shige Wang, Pei Xie
The content of this RSS Feed (c) The Royal Society of Chemistry




cor

Developing Super Tough Gelatin-based Hydrogels by Incorporating Linear Poly(methacrylic Acid) to Facilitate Sacrificial Hydrogen Bonding

Soft Matter, 2020, Accepted Manuscript
DOI: 10.1039/D0SM00422G, Communication
Hui Jie Zhang, Li Ni Wang, Xuechuan Wang, Qingxin Han, Xiangyou You
Mechanically robust protein-based hydrogels are strongly desired but their construction remains a significant challenge. In this work, gelatin, together with methacrylic acid, is used to construct a novel hydrogen-bonded hydrogel...
The content of this RSS Feed (c) The Royal Society of Chemistry




cor

Effect of polar amino acid incorporation on Fmoc-diphenylalanine-based tetrapeptides

Soft Matter, 2020, Accepted Manuscript
DOI: 10.1039/D0SM00320D, Paper
Alexandra Daryl Ariawan, Biyun Sun, Jonathan Pawel Wojciechowski, Ian Lin, Eric Y Du, Sophia C Goodchild, Charles Gordon Cranfield, Lars M Ittner, Pall Thordarson, Adam David Martin
Peptide hydrogels show great promise as extracellular matrix mimics due to their tuneable, fibrous nature. Through incorporation of polar cationic, polar anionic or polar neutral amino acids into the Fmoc-diphenylalanine...
The content of this RSS Feed (c) The Royal Society of Chemistry




cor

Lipid-core/polymer-shell hybrid nanoparticles: synthesis and characterization by fluorescence labeling and electrophoresis

Soft Matter, 2020, 16,4173-4181
DOI: 10.1039/D0SM00077A, Paper
Sophie Bou, Xinyue Wang, Nicolas Anton, Redouane Bouchaala, Andrey S. Klymchenko, Mayeul Collot
New hybrid nanoparticles have been obtained by simple nanoprecipitation using fluorescent labeling of both the oily core (BODIPY) and the polymeric shell (rhodamine) thus allowing the use of electrophoresis to assess their formation and stability.
The content of this RSS Feed (c) The Royal Society of Chemistry




cor

Correlation of Hierarchical Structure and Rheological Behavior of Polypseudorotaxane Gel Composed of Pluronic and β-cyclodextrin

Soft Matter, 2020, Accepted Manuscript
DOI: 10.1039/D0SM00406E, Paper
kuo-chih Shih, Chien-You Su, Shing-Yun Chang, Grethe V Jensen, Chi-Chung Hua, Mu-Ping Nieh, Hsi-Mei Lai
We have identified the hierarchical (primary, secondary, tertiary and quaternary) structures of a polypseudorotaxane (PPR) gel composed of Pluronic F108 and β-cyclodextrin system to be β-cyclodextrin crystalline, lamellar sheets, lamellar...
The content of this RSS Feed (c) The Royal Society of Chemistry




cor

Coronavirus | Chennai-based ayurvedic pharmacist dies after drinking concoction of his own preparation

Managing Director of the firm faints after tasting the chemical




cor

Coronavirus | Tamil Nadu tally goes past 6,000 with 600 new cases

Chennai adds 399 patients to its total




cor

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

ACS Photonics
DOI: 10.1021/acsphotonics.9b01558




cor

[ASAP] Strain-Correlated Localized Exciton Energy in Atomically Thin Semiconductors

ACS Photonics
DOI: 10.1021/acsphotonics.0c00626




cor

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




cor

Also serving time: Canada's provincial and territorial correctional officers / Rosemary Ricciardelli

Dewey Library - HV9506.R53 2019




cor

Democracy Incorporated: Managed Democracy and the Specter of Inverted Totalitarianism - New Edition / Sheldon S. Wolin

Online Resource




cor

Secret empires: how the American political class hides corruption and enriches family and friends / Peter Schweizer

Dewey Library - JK2249.S349 2018




cor

Corruption in contemporary politics: a new travel guide / James L. Newell

Dewey Library - JF1081.N46 2018




cor

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

Dewey Library - JC599.K7 F34 2019




cor

Lord Cornwallis is dead: the struggle for democracy in the United States and India / Nico Slate

Dewey Library - JC423.G638 2019